1、简单工厂
通过不同的参数返回不同的子类对象实体。
2、策略模式
封装算法,根据传入不同的子类实体,调用不同的子类方法
6、装饰模式
动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。
7、代理模式
代理类与实际工作类继承同一父类,代理模式其实就是在访问对象的时候引入了一定程度的间接性,因为这种间接性,可以附加多种用途,智能指针
8、工厂方法
先实例化不同的工厂子类,不同的工厂返回不同的产品子类
9、原型模式
用原型示例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
10.模板方法
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
12、外观模式
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
21、单例模式
保证一个类仅有一个实例,并提供一个访问他的全局访问点
20.迭代器模式
提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示