简单工厂模式
用一个单独的类来创造实例的过程叫做工厂
优点:
便于管理,可维护性高
缺点:
当需要添加新的类的时候,则需要改变工厂类
观察者模式
观察者模式定义了对象间的一种一对多的组合关系,以便于一个对象的状态发生变化时,所有依赖它的对象都得到通知并自动刷新
策略模式
策略类通常有一个接口或者抽象类实现,包括了相关的算法和行为,最终给客户端调用
定义了算法家族,分别封装起来,让他们之间相互替换,策略模式让算法的变化不会影响到使用算法的客户
状态模式
状态模式主要解决的是当一个控制对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化
缺点:
状态模式的使用必然会增加系统类和对象的个数,状态模式的结构和实现都较为复杂,如果使用不当将导致程序结构和代码的混乱
中介者模式
用一个中介对象来封装一系列的对象交互,
优点:
耦合松散,可以独立的改变他们之间的交互,灵活性高,便于维护
缺点:
滥用会让事情变的更复杂
桥接模式
将抽象部分与他的现实部分实现部分分离,使它们都可以独立的变化(实现指抽象类和它的派生类用来实现自己的对象)