经典的设计模式有23个,我们书中将设计模式分为三类,即:创建型、结构型、行为型。既然书中将她们分成三类,必然有其原因,我们来分析一下。
创建性:都需要创建一个东西(工厂、接口、具体原型类、单个实例)
结构型:将类或对象组合成起来形成一个结构。
行为型:对象间行为的分配
今天我就主要来讲述一下创建型模式,其包括:工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式。
工厂方法VS抽象工厂
共同点:产生多个产品类,一个抽象工厂类可以产生多个工厂
不同点:
建造者模式
将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。我的理解:建造者模式就是将复杂的过程封装为一个类,使我们不至于每次都写这个复杂的过程,避免出错,然后在定义具体创建者类,最后让指挥家来统一指挥,如何进行创建。
原型模式
根据原型创建创建新的对象,在已有的基础上,通过克隆产生多个自身。比如我们只做简历,只需要有一份模板,然后多印一份就可以了。
单例模式
单例模式跟别的创建型的不太一样,这个当只需要实例化一次时,可以使用单例模式,比如点击按钮弹出提示框,如果没有,则弹出一个框;如果有,则不需要。这就需要我们控制产生的数量,就是所谓的“计划生育”。
总结:创建型模式归根到底就是需要实例化一个对象,来达到自己的目的,当然不同的模式有自己的特点,但最重要的都是达到代码复用,减少耦合。那么别的模式有什么差别呢?还需继续学习。。。。