三种创建型模式

      一直很神往设计模式GoF的GoF of book《Design Patterns》,周末有空就拿出来研究了一番,只看了3/23,呵呵,四位大牛写得太精练,看了不知道所云,先记下来以后再研究。

      Abstract Factory模式,一般作为一个抽象类(AbstractFacotry)提供一些创建产品和产品组件的接口,具体地工厂(Conctrete Factory)实例用继承实现,对一个产品具体一个工厂,还有抽象产品组件和具体的产品,具体产品(Concrete Product)从具体的工厂创建。创建一个产品时,传入具体的工厂作为参数,一开始就创建一个产品,再在这个产品上装配一些组件。它有点侧重一系列产品。

      Builder模式也是传入一个参数给导向器,不过这个参数是(Builder),导向器(Director)也类似一个创建器,根据不同的Builder实例来创建不同的产品。每一个Builder类都有一个Get方法,用来一步一步生成产品组件后,最后返回产品,与Abstract Factory模式相比,它有点类似构建

      Factory Method模式,就是要区别何为Creator,保为Product,创建一个Abstract Creator类,虚函数指定一些工厂方法(Facotry Method) ,实例成不同的Creator,按需求具体重写这些接口,生成具体的产品,在迷宫里MazeGame是Creator,迷宫是Product。它可以创建不同大小,不同风格的迷宫。

 

你可能感兴趣的:(设计模式,产品)