Daha az, çok amaçlı yöntemlere sahip olmanın mantıklı olacağı belirli bir durumdan bahsetmek isterim : Çok fazla polimorfizm varsa, yani bu arayüzün birçok uygulaması ; Özellikle, bu uygulamalar ayrı ayrı geliştirilen kodda ise, senkronize olarak güncellenemez (arayüz bir kütüphane tarafından tanımlanır).
Bu durumda, her bir uygulamanın yazılması işinin basitleştirilmesi, bunun kullanımın açıklığından çok daha değerlidir, çünkü birincisi, sözleşme ihlali hatalarından (iki yöntem birbiriyle tutarsızdır) kaçınır, ancak ikincisi, yalnızca getBalance
açısından tanımlayan bir yardımcı işlev veya üst sınıf yöntemle geri kazanılabilir charge
.
(Bu, belirli bir adı hatırlamadığım bir tasarım örüntüsüdür: minimal uygulayıcı dostu olan açısından karmaşık bir arayan dostu arayüz tanımlamak. Klasik Mac OS'de çizim işlemleri için minimal arayüz "darboğaz" olarak adlandırılmıştır. ama bu popüler bir terim gibi görünmüyor.)
Durum böyle değilse (az sayıda uygulama veya tam olarak bir tane varsa), netlik için yöntemleri ayırmak ve sıfır olmayan yüklerle ilgili basit bir davranış eklenmesine izin vermek charge()
anlamlıdır.