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

  • failblog

    failblog

    17 HAZİRAN 2008
  • LearnKey

    LearnKey

    19 AĞUSTOS 2008
  • ODN

    ODN

    26 Kasım 2006