江门市网站建设 熊掌号,电子商务网站的建设的原理,温州发生的重大新闻,自己如何做网站统计原型模式#xff1a;Prototype
链接#xff1a;原型模式实例代码 注解
模式定义
使用原型实例指定创建对象的种类#xff0c;然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF
目的
在软件系统中#xff0c;经常面临这“某些结构复杂的对象”的创建工作Prototype
链接原型模式实例代码 注解
模式定义
使用原型实例指定创建对象的种类然后通过拷贝这些原型来创建新的对象。 ——《设计模式》GoF
目的
在软件系统中经常面临这“某些结构复杂的对象”的创建工作由于需求的变化这些对象经常面临着剧烈的变化但是它们却拥有比较稳定一致的接口。如何应对这种变化如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”从而使得依赖这些”易变对象“的客户程序不随着需求改变而改变。 P.s. 原型模式本质上也是类似于工厂模式的创建模式我们先从 底层结构上来看 工厂是将创建新的对象这一子模块完全独立 原型模式是将对象本身和创建它的接口耦合在一起 从逻辑上来看 工厂是只根据输入的初始化和默认参数来创建新的对象原型是根据已有的对象拷贝构造/克隆深拷贝一个状态一样的对象 从以上来看原型模式适用于对象内部复杂初始化麻烦的情况。 注由于原型模式是加深了耦合且必须有已有对象才能创建等诸多弊端所以工厂模式在实际环境中使用的会更多。
要点总结
Prototype模式同样用于隔离对象的使用者和具体类型(易变类)之间的耦合关系它同样要求这些“易变类”拥有稳定的接口。Prototype模式对于“如何创建易变类的实体对象“采用”原型克隆“的方法来做 它使得我们可以非常灵活地动态创建”拥有某些稳定接口“的新对象——所需工作仅仅是注册一个新类的对象(即原型) 然后在任何需要的地方Clone。Prototype模式中的Clone方法可以利用某些框架中的序列化来实现深拷贝。
E.g