无论框架版本为何,C#都支持哪些设计模式? 我在考虑可以在界面IObservable中找到的Observer模式等模式。 ObservableCollection,INotifyPropertyChanged等。哪些是C#本地内置设计模式?
请在答案中提供模式的命名空间!
无论框架版本为何,C#都支持哪些设计模式? 我在考虑可以在界面IObservable中找到的Observer模式等模式。 ObservableCollection,INotifyPropertyChanged等。哪些是C#本地内置设计模式?
请在答案中提供模式的命名空间!
行动(通常用作访问者模式)
Discover the Design Patterns You're Already Using in the .NET Framework(MSDN Magazine
)
+1尼斯链接... – Oded 2010-10-28 08:51:41
+1我同意Oded,不错的链接! – 2010-10-28 14:42:49
迭代器是一个(所有集合类和数组可以使用foreach
语句进行迭代)。
另一种是观察者模式 - 几乎这是事件。在4.0中添加了IObservable和ObservableCollection。
的委托模式(这就是代表和expresssions是)
经常使用代理模式。
StringBuilder使用builder设计模式..
而且有DbDataAdapter类(适配器模式)。
Null Object pattern也被广泛使用。
观察者模式。我们所有的活动和代表都是通过观察者模式提出的。
工厂模式。工厂连接字符串和数据库提供程序。
Iterator模式:IEnumerable的,Ienumerators在我们的foreach语句
适配器:COM通讯。运行时可调用包装(RCW)
模板:用于在几个地方尤指ASP.NET类,你可以重写,以提供新的实现
代理:对于我们所有的Web服务调用。在c#3.0中,我们也获得了代理集合。
可能还有更多。但是,这些都是来到我的脑海
创建模式
抽象工厂
的那些生成器
工厂方法
原型
辛格尔顿
结构模式
适配器
桥
复合
装饰
门面
飞锤
代理
行为模式
链责任
命令
解释
迭代
中保
备忘录
观察
国家
战略
模板方法
游客
很长一段时间以来,我一直在想扩展方法实现装饰器模式,但他们不这样做:装饰器会透明地覆盖和扩展现有方法,而扩展方法会将新方法添加到现有类中。尽管如此,我仍然对是否有一种设计模式感兴趣! – chiccodoro 2010-10-28 08:56:36