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

css div网站模板培训网站推广

css div网站模板,培训网站推广,标识设计公司排名,2345浏览器网页版入口小谈设计模式(10)—原型模式 专栏介绍专栏地址专栏介绍 原型模式角色分类抽象原型(Prototype)具体原型(Concrete Prototype)客户端(Client)原型管理器(Prototype Manager…

小谈设计模式(10)—原型模式

  • 专栏介绍
    • 专栏地址
    • 专栏介绍
  • 原型模式
    • 角色分类
      • 抽象原型(Prototype)
      • 具体原型(Concrete Prototype)
      • 客户端(Client)
      • 原型管理器(Prototype Manager)
    • 核心思想
    • Java代码实现
      • 代码分析
    • 优缺点分析
      • 优点
        • 简化对象的创建
        • 隐藏对象的创建细节
        • 支持动态添加和修改对象的属性
        • 提供了一种可替代的对象创建方式
      • 缺点
        • 克隆方法的实现可能较为复杂
        • 克隆对象与原型对象的关系可能较为复杂
        • 克隆对象的创建方式受限

专栏介绍

专栏地址

link

专栏介绍

主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。
在这里插入图片描述

原型模式

这是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而无需通过实例化类来创建。它通过克隆现有对象的属性和方法来创建新对象,从而避免了创建对象时的重复工作。

在这里插入图片描述

角色分类

抽象原型(Prototype)

定义了克隆方法的接口,通常是一个接口或抽象类。该接口中声明了一个克隆方法,用于复制原型对象。

具体原型(Concrete Prototype)

实现了抽象原型接口,提供了克隆方法的具体实现。具体原型对象通过克隆方法创建新的对象,同时复制原型对象的属性和方法。

客户端(Client)

通过调用克隆方法来创建新的对象。客户端可以通过克隆方法复制原型对象,然后根据需要修改克隆对象的属性。

原型管理器(Prototype Manager)

用于管理原型对象的创建和克隆过程。原型管理器可以维护一个原型对象的注册表,客户端通过原型管理器获取原型对象的克隆。

核心思想

原型对象的克隆方法,通过克隆方法可以复制原型对象的属性和方法,从而创建新的对象。客户端可以根据需要通过克隆方法创建新的对象,并可以自由地修改克隆对象的属性。原型模式可以有效地提高对象的创建效率,并使对象的创建过程更加灵活和可扩展。
在这里插入图片描述

Java代码实现

// 原型接口
interface Prototype {Prototype clone();
}// 具体原型类
class ConcretePrototype implements Prototype {private String name;public ConcretePrototype(String name) {this.name = name;}public Prototype clone() {return new ConcretePrototype(this.name);}public void setName(String name) {this.name = name;}public String getName() {return this.name;}
}// 客户端代码
public class Client {public static void main(String[] args) {// 创建原型对象Prototype prototype = new ConcretePrototype("原型对象");// 克隆原型对象Prototype clone = prototype.clone();// 修改克隆对象的属性((ConcretePrototype) clone).setName("克隆对象");// 输出原型对象和克隆对象的属性System.out.println("原型对象的属性:" + prototype.getName());System.out.println("克隆对象的属性:" + ((ConcretePrototype) clone).getName());}
}

代码分析

在上面的示例中,我们定义了一个原型接口 Prototype,其中包含一个 clone 方法用于克隆原型对象。然后,我们创建了一个具体原型类 ConcretePrototype,实现了 Prototype 接口,并在 clone 方法中返回一个新的克隆对象。

在客户端代码中,我们创建了一个原型对象 prototype,然后使用 clone 方法克隆了一个新的对象 clone。接下来,我们修改了克隆对象的属性,并输出了原型对象和克隆对象的属性。
在这里插入图片描述

优缺点分析

优点

简化对象的创建

原型模式通过克隆原型对象来创建新的对象,避免了重复创建对象的过程,提高了对象的创建效率。

隐藏对象的创建细节

客户端通过克隆方法获取新的对象,无需关心对象的创建细节,使得对象的创建过程对客户端透明。

支持动态添加和修改对象的属性

克隆对象可以独立于原型对象进行修改,不会影响到原型对象,使得对象的创建更加灵活和可扩展。

提供了一种可替代的对象创建方式

原型模式可以作为一种可替代的对象创建方式,特别适用于创建复杂对象或需要大量初始化的对象。

缺点

克隆方法的实现可能较为复杂

如果对象的属性较为复杂或存在循环引用等问题,实现克隆方法可能较为复杂。

克隆对象与原型对象的关系可能较为复杂

克隆对象与原型对象之间可能存在一定的关联关系,需要在克隆方法中进行处理,增加了代码的复杂性。

克隆对象的创建方式受限

克隆对象的创建方式受限于原型对象的结构,需要保证原型对象实现了克隆方法,且克隆方法能够正确地复制对象的属性。
在这里插入图片描述

http://www.dinnco.com/news/57016.html

相关文章:

  • 网站信息管理平台网址注册查询
  • 域名注册平台的网站怎么做上海百度关键词优化公司
  • 北京网站建设服务软文发布软件
  • 万维网的网站百度推广一年大概多少钱
  • 网站出售企业培训课程有哪些
  • 做响应式网站的菜单栏自助建站系统
  • WordPress主题虚拟资源安顺seo
  • 做网站能赚到流量费吗软件测试培训
  • 美业网站建设信息推广
  • 长沙公司做网站找哪个公司好百度百科官网登录
  • 网站推广的企业软文推广案例
  • 重庆荣昌网站建设报价网络推广图片大全
  • 简洁类wordpress主题360优化大师安卓版下载
  • 国外购物网站系统网络营销八大工具
  • 用网页采集个人信息网站怎么做优化推广网站怎么做最好
  • 如何制作产品网站模板下载优化 保证排名
  • 网站文章正文可以做内链吗优化seo
  • 平台网站建设哪家有百度关键词搜索排名统计
  • 做英文网站要会什么小程序源码网
  • 汽车行业网站怎么做登录百度
  • 高大上强企业网站自助建站seo
  • 抚顺市网站建设爱站网关键词挖掘机
  • 做企业展示版网站贵吗站内营销推广方式
  • php做简易网站seo建站系统
  • 制作网页之前必须先建立的是优化关键词排名公司
  • 标志设计的表现形式焦作关键词优化排名
  • 新河网新河吧推推蛙seo顾问
  • 朝鲜族网站沙参怎么做做一个企业网站大概需要多少钱
  • 盐城网站开发建设如何申请域名
  • 网站 电信已备案 联通福州seo建站