创建型模式总结

       创建型模式有四种:FactoryMethod、AbstractFactory、Builder、Prototype;再具体划分一些:1.通过生成对象类的子类的方法创建对象:FactoryMethod,2.定义一个对象负责明确产品对象类,并将它作为该系统的参数:AbstractFactory、Builder、Prototype,AbstractFactory 由这个工厂对象产生多个类的对象(每个具体工厂产生的是一个系列产品),Builder由这个工厂对象通过相对复杂的协议(这个协议由导向器封装)逐步构建一个复杂对象,Prototype由该工厂对象通过拷贝原型对象来创建产品对象。

     模式选择通常从易到难,开始选择FactoryMethod,然后根据系统需求演变到其它三种模式。AbstractFactory 生成产品前需要获取到具体的工厂,通常同一个具体工厂生产的产品具有相同抽象类,表示了对象间的关系,其它三种模式没有这个特征,abstract factory -对象创建型模式 在这篇博客中具体工厂通常只提供创建功能,设计成单例是好的,但是在获取具体工厂使用了反射并不是一个好的选择,可以通过享元模式进行优化;Builder主要用来生成复杂对象,在interpreter -类行为型模式 中构建的抽象语法树,是可以使用这个模式进行优化的,将抽象语法树的构建进行封装,而不是让客户端自行构建Prototype模式(prototype -对象创建模型 )在使用时不要在PrototypeManager 返回原型映射objectMap对象(即不要提供get方法),要不然其它程序员可以通过objectMap修改原型,导致相同的标识通过PrototypeManager 前后生成的对象不一致。

      

      

你可能感兴趣的:(设计模式,创建型模式)