【大话设计模式】第8章 工厂方法模式、第13章建造者模式、第14章观察者模式

建造者模式

建造者模式是在创建复杂对象算法应该独立于该对象的组成部分时,且创建复杂对象的步骤独立于装配该对象时。书中举了装配小人玩具的例子,装配小人玩具的步骤都是装脑袋、身体、胳膊和大腿这些步骤,不同的地方是脑袋、身体、胳膊和大腿是不一样长不一样外观这样,但步骤都是一样的,装配方式也是一样的,于是就可以使用建造者模式。换到代码中,我们实际上只要重写人物建造的抽象类的抽象方法即可。
        

定义如下所示:建造者模式将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。

观察者模式

观察者模式又叫发布-订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使得他们能够自己更新自己。

为什么GoF会想到观察者模式呢?当许多类组成一个相互协同作用的系统时,程序员必然需要维护各个不同,但相关的类之间的一致性。于是这就形成了一种紧耦合的类间关系,维护这样的代码会很累,这是我们所不期望出现的,于是就有了观察者模式。

抽象工厂模式

定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。

抽象工厂模式是对工厂方法模式的进一步改进。当有两种不同的、且类似的子类时使用。就像让一条流水线生产两种或者多种类似的商品一样,如果可以对流水线进行模块化设计,当要生产另一种商品时,能通过切换模块进行迅速转换生产对象。

猜你喜欢

转载自blog.csdn.net/weixin_42322991/article/details/128431406