当前位置: 首页 > news >正文

微网站后台录入2023网页游戏排行榜

微网站后台录入,2023网页游戏排行榜,电商型网站,贸易公司名称大全简单大气原型模式是一种创建型设计模式#xff0c;使调用方能够复制已有对象#xff0c;而又无需使代码依赖它们所属的类。当有一个类的实例#xff08;原型#xff09;#xff0c;并且想通过复制原型来创建新对象时#xff0c;通常会使用原型模式。 The Prototype pattern is g…原型模式是一种创建型设计模式使调用方能够复制已有对象而又无需使代码依赖它们所属的类。当有一个类的实例原型并且想通过复制原型来创建新对象时通常会使用原型模式。 The Prototype pattern is generally used when we have an instance of the class (prototype) and wed like to create new objects by just copying the prototype.结构设计 原型模式包含如下角色 Prototype原型类用来声明克隆方法。在绝大多数情况下只会有一个名为 clone 的方法。 ConcretePrototype具体原型类用来实现克隆方法。除了将原始对象的数据复制到克隆体中之外该方法有时还需处理克隆过程中的极端情况 例如克隆关联对象和梳理递归依赖等等。 原型模式类图表示如下 伪代码实现 接下来将使用代码介绍下原型模式的实现。 // 1.定义原型接口用来声明克隆方法 public interface Prototype {/*** 复制对象** return 复制后的对象*/Prototype clone(); } // 2、定义具体原型类(ConcretePrototype)用来实现克隆方法 public class ConcretePrototype implements Prototype {private String field;public ConcretePrototype() {}public String getField() {return field;}public ConcretePrototype(String field) {this.field field;}Overridepublic Prototype clone() {ConcretePrototype concretePrototype new ConcretePrototype();concretePrototype.field this.field;return concretePrototype;} } // 3、客户端调用 public class PrototypeClient {public PrototypeClient() {}// 调用方式调用具体原型实例的克隆方法public void test() {Prototype concretePrototype new ConcretePrototype(foo);ConcretePrototype clonedPrototype (ConcretePrototype) concretePrototype.clone();System.out.println(clonedPrototype.getField());} }需要说明的是对于Java语言来说Object基类已经提供了一个clone的保护方法用于实现对象的浅复制。注意只有实现了Cloneable接口才可以调用该方法 否则抛出CloneNotSupportedException异常。更多clone方法的介绍可以参考笔者之前的文章。 适用场景 在以下情况下可以考虑使用原型模式 (1) 如果需要复制一些对象同时又希望代码独立于这些对象所属的具体类可以使用原型模式。 例如代码里需要处理第三方接口传递过来的对象时即使不考虑代码耦合的情况 调用方的代码也不能依赖这些对象所属的具体类因为无法知道它们的具体信息。 原型模式可以为调用方提供一个通用接口调用方可通过这一接口与所有实现了克隆的对象进行交互它也使得调用方与其所克隆的对象具体类独立开来。 (2) 如果子类的区别仅在于其对象的初始化方式那么可以使用原型模式来减少子类的数量。 在原型模式中 可以使用一系列预生成的、各种类型的对象作为原型(原型对象池)。客户端不必根据需求对子类进行实例化只需找到合适的原型并对其进行克隆即可。 优缺点 原型模式有以下优点 (1) 将对象克隆与对象所属的具体类分离(解耦)避免克隆对象与具体类的紧耦合。 (2) 简化了复杂对象的初始化代码。对一些复杂对象可以通过提供克隆方法来简化调用方的使用。 (3) 提供了除继承以外的方式来实现复杂对象的初始化。继承建立了子类与父类的强耦合如果可以尽量不要使用继承。 但是原型模式也存在以下缺点 (1) 在重写克隆方法时对于复杂对象的关联对象或递归依赖等处理相比麻烦一些。 参考 《设计模式可复用面向对象软件的基础》 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 著 李英军, 马晓星 等译 https://www.cnblogs.com/adamjwh/p/9033550.html 简说设计模式——原型模式 https://refactoringguru.cn/design-patterns/prototype 原型模式 https://www.baeldung.com/java-pattern-prototype Prototype Pattern in Java
http://www.dnsts.com.cn/news/88298.html

相关文章:

  • 厦门网站建设多少钱网络营销策略的演变
  • 泉州全网营销优化天津网站优化公司哪家好
  • 做铝板的网站百度如何搜索网址
  • 外贸导向企业网站网络教学平台长沙理工
  • 企业网站公示怎么做有哪些建站的公司
  • 医药建设网站竞价排名服务
  • 合肥政务区建站公司wordpress 搬家 404
  • 哪家网站网站的建设与维护怎么弄
  • 自己做网站能做付费链接吗怎么给自己的网站做seo
  • 免费域名建站医疗机构网站
  • 导航网站模板网站设计版式
  • 长裕建设有限公司网站百度快速优化软件排名
  • 大安移动网站建设微信电商小程序开发公司
  • les做ml网站设计网页时有哪些配色方法
  • 网站用ai做还是ps网站编辑专题怎么做
  • 网站建设公司主营业务互动营销经典案例
  • 高校资源网网站建设方案在线制作网站
  • 网站页面太多是否做静态广州黄埔区开发区建设局网站
  • 焦作商城网站建设wordpress怎样设置会员免费
  • 东莞桥头网站建设程序员自己建站赚钱
  • 东莞做网站哪个公司好互联网运营推广
  • 自己做的网站如何联网阿里云 网站
  • 网站如何改造wapwordpress去掉图片width
  • 网站建设怎么做平台开发wordpress教学插件
  • 美橙表业手表网站windows 安装wordpress
  • 做肮脏交义的网站做建网站的工作一年赚几百万
  • 怎么在濮阳网站做宣传wordpress人体时钟
  • 免费建立网站的网站都有啥专业商铺装修设计
  • 微网站建设正规公司六安服装网站建设地址
  • 怎样在手机上建网站网站静态首页模板