工厂模式和原型方法模式

工厂方法模式:

工厂模式和原型方法模式_第1张图片简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。
工厂模式方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法
使一个类的实例化延迟到其他子类。
工厂模式和原型方法模式_第2张图片
工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还是存在的,也就是说,工厂方法把简单的工厂的内部逻辑判断移到了客户端代码来实现进行,你想要加功能,本来是改工厂类的,而现在时修改的客户端的。
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建的对象。
工厂模式和原型方法模式_第3张图片
因为克隆很常用,所以在.net在System命名空间中提供了IConable接口,其方法为Clone()这样我们只需要实现这个接口就可以完成原型模式。

一般在初始化的信息不发生变化的情况下,克隆是最好的办法。这样既隐藏了对象创建的细节,又对性能进行了大大的提升。
这样做等于不用重新初始化对象,而是动态的获得对象运行时的状态。

你可能感兴趣的:(工厂模式和原型方法模式)