由于GOF书籍在.Net出现之前很好地组合在一起,GOF中描述的特定模式是否适合.Net?如果是这样,出于什么原因?
这是一个与最近的赏金discussion有关的问题。
答案 0 :(得分:13)
GoF书中的想法并非特定于语言,尽管他们确实提供了样本以更好地解释设计。
我们的想法是提供在软件设计中一次又一次出现的模式,以及任何开发人员可以根据需要以所选语言实现这些模式的食谱。
也就是说,当你看到.NET时,正如其他人所提到的那样,你会看到几个设计模式在框架中被实现为一等公民。
因语言而有“不使用”吗?不会。这些模式将继续有用,即使已经为您实施了一些模式。
答案 1 :(得分:3)
本书C# 3.0 Design Patterns讨论了.NET上下文中的原始设计模式。它不如IMO原书那么好,但仍然值得一读。
答案 2 :(得分:2)
嗯,有些用途有限,因为它们已在框架中实现。
例如,.NET中的集合已经支持开箱即用的迭代,因此在大多数情况下您不需要实现Iterator模式。另一个例子是可以使用的事件,而不是自己实现Observer模式。
答案 3 :(得分:1)
GoF模式通常适用于面向对象的语言,更具体地说,适用于强类型语言或更严格的语言。
答案 4 :(得分:0)
没有。 甚至Observer是.NET(事件)中的一等公民,它的用途也是最近的Rx框架所显示的。