请说出你所熟悉的几种设计模式。并举例说明:
下面列举四种最常用的设计模式
一、Strategy模式
1、两大原则
Strategy 模式体现了如下的两大原则:
1,针对接口编程,而不是针对实现编程。
2,多用组合,少用继承。
2、 例子:
二、Iterator模式
提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。
这种设计模式非常普遍,
比如Java里面的:
public interface Iterator {
boolean hasNext();
Object next();
void remove();
}
以及C++ STL里面的 iterator使用 ++ 访问。
三、Singleton模式
下面是个C++ singleton的类:
四、Factory Method模式
Factory Method模式在不同的子工厂类生成具有统一界面接口的对象,一方面,可以不用关心产品对象的具体实现,简化和统一Client调用过程;另一方面,可以让整个系统具有灵活的可扩展性。