1.简单工厂模式
对同一事件有多种处理方式,解决的对象的创建问题
2.策略模式(隐藏算法)
应用于算法的时常变动。策略模式定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。
3.装饰模式
动态的给一个对象添加额外的职责,就增加功能来说,装饰模式比生成子类更为灵活
4.代理模式
5.工厂模式
6.原型模式
7.模板方法模式
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
当我们要完成在某一细节层次一致的一个过程过一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,通常考虑用模板方法模式来处理。
8.外观模式(门面模式)
完美体现依赖倒转原则和迪米特法则,通过第三方调用某些类的方法。