SORU
15 EYLÜL 2008, PAZARTESİ


Akıcı arayüzleri Demeter Kanunu ihlal ediyorlar?

Law of Demeter wikipedia article diyor ki:

Yasa basitçe ifade edilebilir "tek bir nokta".

Ancak fluent interface simple example Bu gibi görünebilir:

static void Main(string[] args)
{
   new ZRLabs.Yael.Pipeline("cat.jpg")
        .Rotate(90)
        .Watermark("Monkey")
        .RoundCorners(100, Color.Bisque)
        .Save("test.png");
}

Bu arada gider mi?

CEVAP
15 EYLÜL 2008, PAZARTESİ


Peki, Kanunun kısa tanımı çok fazla kısaltır. Gerçek "hukuk" (iyi API tasarımı gerçeklik tavsiye) şöyle dedi: kendi yarattığınız, ya da bir argüman olarak geçildi. Yalnızca access Erişim nesneleri dolaylı olarak diğer nesneleri yok. Akıcı arabirim yöntemleri genellikle, nesnenin tekrar kullanırsanız yasayı ihlal, bu yüzden değil nesnenin kendisini geri dönün. Başka yöntemler de ihlali yok yani senin için nesneleri oluşturun.

Ayrıca "klasik" API. yalnızca en iyi uygulamaları tavsiye "hukuk unutmayın Akıcı arayüzleri tasarımı API için tamamen farklı bir yaklaşım ve Demeter Kanunu ile değerlendirilebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • kev5124

    kev5124

    9 Kasım 2008