一、建造者模式
将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示,需要‘建造者模式’,又叫做生成器模式。
建造者模式可以将一个产品的内部表象与产品的生成过程分割开,从而使一个建造过程生成具有不同的内部表象的产品对象。如果我们用了建造者模式,那么用户就只需指定需要建造的类型就可以得到它们,而具体的建造过程和细节就不要知道。
建造者模式的好处:使得建造代码与表示代码分离,由于建造者隐藏了该产品是如何组装的,所以若需要改变一个产品的内部表示,只需再定义一个具体的建造者。
建造者模式在创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式时适用的模式。
二、观察者模式
观察者模式又叫做发布-订阅模式。
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
subject类,可翻译为主题或者抽象通知者,一般用一个抽象类或者一个接