Bu yöntemleri kullanan istemci kodlarının kırılmasını önlemek için API / genel yöntem imzasındaki değişikliklerin minimum düzeyde olması gerektiği göz önüne alındığında , Demeter Yasası'nın bunlara daha az uygulanabilir olup olmadığını merak ediyordum .
Basit bir örnek:
class Account() {
double balance;
public void debit(Transaction t) {
balance -= t.getAmount();
}
}
Borçlandırma yönteminin sadece iki tutardan ziyade İşlem nesnesini geçtiğine dikkat edin ('Demeter Yasası', anladığım kadarıyla, gerekli bilgileri, bu durumda sadece İşlem nesnesini değil, yalnızca tutarı geçmeyi söyleyebilir ... ). Bunun ardında yatan neden, gelecekteki yöntemin miktar dışında başka bazı İşlem özellikleri gerektirebilmesidir. Anladığım kadarıyla, bu, gelecekte yeni bir parametre ekleyerek yöntem imzasının kırılmasını önleyecektir.
Bu onu mantıklı bir seçim yapıyor mu? Yoksa bir şey mi kaçırıyorum?