Belirli bir parametreyi alabilen veya alamayan bir işleve sahip olduğumda, işlevi aşırı yüklemek veya isteğe bağlı bağımsız değişkenler eklemek daha iyi olur mu?
Her birinin iniş ve çıkışları varsa - her birini ne zaman kullanırım?
Belirli bir parametreyi alabilen veya alamayan bir işleve sahip olduğumda, işlevi aşırı yüklemek veya isteğe bağlı bağımsız değişkenler eklemek daha iyi olur mu?
Her birinin iniş ve çıkışları varsa - her birini ne zaman kullanırım?
Yanıtlar:
Dil bunları uygun şekilde destekliyorsa (örneğin, tür güvenliği), aşağıdaki nedenlerden dolayı isteğe bağlı bağımsız değişkenleri tercih ederim:
a
, b
ve c
bu seçeneği vardır: hiçbir şey, a, b, c, ab, AC, bc, abc. Bu var 2^n
, farklı türleri için değiln!
Yapıcı bir durum olduğunu varsayarsak: Birçok seçenekle durumları önlemek için genellikle akıcı bir oluşturucu deseni seçerim.
Örneğin. Ordering.natural().onResultOf(function).reverse().compound(Ordering.natural().onResultOf(function2))
Guava'da uygulanan akıcı bir oluşturucu arabirimini çağırmaya bir örnektir.
Tabii ki şimdi, inşaatçınızın durumunu korumak için ayrı bir nesneye ihtiyacınız var, ancak inşa etme davranışını inşa edilenin davranışından ayırarak genel karmaşıklığı azaltırsınız.