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

做公众号封面的网站在线看seo网站

做公众号封面的网站,在线看seo网站,音频网站建设,电脑做系统都是英文选哪个网站原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有的实例来创建新对象,而不是通过实例化类来创建对象。这个模式允许你创建对象时避免复杂的初始化步骤,并且能够动态地创建对象的副本。 原型模式的关键…

原型模式(Prototype Pattern)是一种创建型设计模式,它通过复制现有的实例来创建新对象,而不是通过实例化类来创建对象。这个模式允许你创建对象时避免复杂的初始化步骤,并且能够动态地创建对象的副本。

原型模式的关键点

  1. 原型接口:声明一个clone方法,用于复制对象。
  2. 具体原型类:实现原型接口并实现clone方法,通常使用Object类的clone方法来进行浅复制。
  3. 客户端:通过调用原型对象的clone方法来创建新的对象。

原型模式的优点

  • 避免重复初始化:可以通过复制一个现有对象来创建新对象,而不需要重新进行复杂的初始化。
  • 动态创建对象:可以在运行时动态决定创建的对象类型。
  • 减少子类数量:通过克隆机制可以减少对象创建时需要的子类数量。
import java.util.HashMap;
import java.util.Map;// 原型接口
abstract class Shape implements Cloneable {private String id;protected String type;abstract void draw();public String getType(){return type;}public String getId() {return id;}public void setId(String id) {this.id = id;}// 实现Cloneable接口的clone方法public Object clone() {Object clone = null;try {clone = super.clone();} catch (CloneNotSupportedException e) {e.printStackTrace();}return clone;}
}// 具体原型类:圆形
class Circle extends Shape {public Circle(){type = "Circle";}@Overridepublic void draw() {System.out.println("Drawing a Circle");}
}// 具体原型类:正方形
class Square extends Shape {public Square(){type = "Square";}@Overridepublic void draw() {System.out.println("Drawing a Square");}
}// 原型管理器
class ShapeCache {private static Map<String, Shape> shapeMap = new HashMap<String, Shape>();public static Shape getShape(String shapeId) {Shape cachedShape = shapeMap.get(shapeId);return (Shape) cachedShape.clone();}// 对每种形状都运行数据库查询,并创建该形状// shapeMap.put(shapeKey, shape);// 例如,我们要添加三种形状public static void loadCache() {Circle circle = new Circle();circle.setId("1");shapeMap.put(circle.getId(), circle);Square square = new Square();square.setId("2");shapeMap.put(square.getId(), square);}
}// 客户端代码
public class PrototypePatternDemo {public static void main(String[] args) {ShapeCache.loadCache();Shape clonedShape1 = (Shape) ShapeCache.getShape("1");System.out.println("Shape : " + clonedShape1.getType());clonedShape1.draw();Shape clonedShape2 = (Shape) ShapeCache.getShape("2");System.out.println("Shape : " + clonedShape2.getType());clonedShape2.draw();}
}

示例说明

  1. Shape类:作为原型接口,定义了一个clone方法用于复制对象,并且包含了idtype属性。
  2. Circle和Square类:具体原型类,实现了Shape类,并实现了draw方法。
  3. ShapeCache类:原型管理器,负责存储和访问原型对象。loadCache方法用于预加载一些原型对象到缓存中。
  4. PrototypePatternDemo类:客户端代码,通过ShapeCache来获取复制的对象,并调用其方法。

这种模式在需要频繁创建相似对象的场景中非常有用,比如游戏开发中的对象生成、复杂对象的初始化等。通过原型模式,可以极大地提高对象创建的效率并减少重复代码。

http://www.shuangfujiaoyu.com/news/57604.html

相关文章:

  • 广州天河区网站建设莆田百度快照优化
  • 怎么创建一个公司网站品牌搜索引擎服务优化
  • 佛山企业制作网站各大引擎搜索入口
  • 商城网站要怎样设计外链怎么做
  • 山西高端网站建设网站自动提交收录
  • 电商网站平台关键词采集软件
  • wordpress怎么添加企业网站微博推广方式有哪些
  • 做购物网站能赚钱吗百度网址导航主页
  • 购物网站策划建设方案无锡百度
  • 苏州做物流网站电话seo外包优化服务商
  • 英文网站怎么推广搜索关键词排名一般按照什么收费
  • 网站开发不提供源代码广州百度seo 网站推广
  • wordpress网站加载过慢最有效的线下推广方式
  • 湖南建网站网站如何宣传推广
  • 淄博易宝网站建设sem推广是什么意思呢
  • 网站建设需要考什么证长沙百度关键词排名
  • 如何查询网站备案信息2021年搜索引擎排名
  • 济宁企业做网站专业提升关键词排名工具
  • 网站如何防注册机百度指数怎么分析
  • erp软件前十名广西seo搜索引擎优化
  • 山东建设兵团网站广州百度推广客服电话多少
  • 网站建设添加背景命令东营网站建设费用
  • 自己做静态网站的步骤windows优化工具
  • 三联网站建设如何建造自己的网站
  • 定制网站系统开发杭州优化公司多少钱
  • 2018年做淘宝客网站还能挣钱吗网址大全浏览器主页
  • 遵化市有做奇麟网站的吗网站不收录怎么办
  • 做网站和做免费推广网站的区别线上推广平台
  • 网站怎么产品做推广兰州seo技术优化排名公司
  • 2015微信网站设计视频号推广方法