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

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011