Hangi GOF tasarım desenleri zaten C # birinci sınıf dil özellikleri olarak uygulanmaktadır?


10

(Bu soru, "çok geniş" ve "gerçek bir soru değil" nedeniyle Yığın Taşması üzerinde kapatıldı, bu yüzden burada daha uygun olabilir mi?)

Bu sorudan ilham alındı . Olayların, Gözlemci modelinin dil düzeyinde bir uygulaması olduğunu biliyoruz. C # 'da dil özellikleri olarak uygulanan başka tasarım kalıpları var mı? Bu soruyu C # -özel tutmak istiyorum, çünkü diğer dillerde uygulanan birçok tasarım deseni var ve bunu odaklanmış tutmak istiyorum.

BCL'de desen uygulamaları (birçok WCF sınıfında dekoratör veya Fabrika Metodu gibi WebClient) değil, dil düzeyinde desenler arıyorum .

Şimdiye kadar gözlemci ( event) ve yineleyicinin ( foreachbirçok BCL sınıfı ve arabirimi ile birlikte ) farkındayım . Muhtemelen özlediğim başka bariz olanlar da var.

Yanıtlar:


1

Delegeler fiili strateji kalıplarıdır


komik, sadece bir kolej delegelerin komut modelinin bir uygulaması olduğunu söylüyordu. Nasıl baktığınıza bağlı olarak sanırım (afaik komutu argümanları da kapsamalıdır, ancak argümanları olmayan bir yöntem olması durumunda ..)
stijn

1
Delegelerin komut kalıplarının uygulanması olduğunu söylemem, en azından geri alma / yineleme gibi şeyleri yalnızca delegeleri kullanarak nasıl uygulayabileceğinizi göremiyorum. Komut nesnesinin bir parçası olabilirler ama bu başka bir mesele
Homde

0

Genişletme yöntemleri, Dekoratör deseninin bir soyutlamasıdır.


Pek sayılmaz. Dekoratör, veri ve davranış eklemek için çalışma zamanında nesneleri oluşturmamızı sağlar.
Martin Doms

1
Doğru - yani neredeyse gerçek dekoratör desenleri kadar kullanışlı değiller. Genişletme yöntemleriyle çözülen sorunların çoğunun dekoratör desenleriyle çözüldüğünü söylemek daha iyi olur mu?
vstrien
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.