1.观察模式
---使用场景:当某一处数据放生变化了,需要其他几处作出相应的变化,那我们怎么才能通知到他们呢?这是一个我们需要思考的问题。这个模式就为它而生的,数据发生变化的一段称为被观察者,根据数据作出变化的一段称为观察者。被观察者对象中存放着观察者对象数组。当数据发生变化了,遍历观察者对象数组,调用相应的方法。
---实现方法:1.抽象出一个接口,作为观察者的动作。 2.被观察者中有这个接口的数组,添加观察者的方法,和删除观察者的方法。 3.给需要注册观察者的地方,注册观察者接口。
2.装饰者模式
---应用场景:简单的继承已不能完成客户的需求,一旦更改,维护起来很麻烦。类数量爆炸(主要靠继承实现类,调料多,类就多,维护起来麻烦);设计死板,以及基类加入的新功能并不适用于所有的子类(就是在基类中添加所有调料属性,根据情况设置那些调料可用),所以想到组合的这个思路,就是一点一点加装饰,对象集合。
---实现方法:1.装饰者和被装饰者对象有相同的超类型。 2.可以用一个或多个装饰者包装一个对象。 3.在任何需要原始对象的场合,可以用装饰过的对象代替它。 4.根据自己的需求,加上的行为。
3.工厂模式
地方
4.单例模式
---应用场景:一个类只需要一个实例化对象。如果不作处理,会出现多个对象,会造成混乱。如用户状态必须只有一个,不然new多个对象,会出现多个状态的。
---实现方法:1.类A构造方法私有化 2.类A的静态方法,new 这个类A对象