GoF - 创建型模式

2021-11-20  本文已影响0人  _Walker__

生成器模式(Builder)

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

这里的“表示”就是指其创建出来的“产品对象”。

同其他创建型模式的差别:


原型模式(Prototype)

用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象

class Product { ... }
class ProductA : Product { ... }
class ProductB : Product { ... }

// 工厂
class Factory
{
    private Product ;
    
    public Factory(Product p)
    {
        _p = p;
    }

    Product Create(int someArg)
    {
        Product rst = p.Clone();
        rst.Init(someArg);
        // do somthing else~
        return rst;
    }
}

// 创建示例
Factory fa = new Factory(new ProductA());
fa.Create(666);
Factory fb = new Factory(new ProductB());
fb.Create(888);

创建型模式还有工厂跟单例,在之前文章列过了。
GoF基础设计模式(Head First篇)
GoF - 工厂模式(Factory Pattern)

上一篇下一篇

猜你喜欢

热点阅读