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

  • makemebad35

    makemebad35

    17 NİSAN 2006
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011
  • Orson Wang

    Orson Wang

    28 EKİM 2006