文档章节

创建型模式之五:原型模式

奋斗到天明
 奋斗到天明
发布于 2015/08/27 16:35
字数 187
阅读 18
收藏 0

原型模式频繁用于需要相似的对象,原型模式克隆对象,并改掉其中的特征。这样消耗的资源就很少,想想为什么消耗少的资源?

原型模式类图

原型模式Java代码

package designpatterns.prototype;
 
//prototype
interface Prototype {
 void setSize(int x);
 void printSize();
 }
 
// a concrete class
class A implements Prototype, Cloneable {
 private int size;
 
 public A(int x) {
 this.size = x;
 }
 
 @Override
 public void setSize(int x) {
 this.size = x;
 }
 
 @Override
 public void printSize() {
 System.out.println("Size: " + size);
 }
 
 
 @Override
 public A clone() throws CloneNotSupportedException {
 return (A) super.clone();
 }
}
 
//when we need a large number of similar objects
public class PrototypeTest {
 public static void main(String args[]) throws CloneNotSupportedException {
 A a = new A(1);
 
 for (int i = 2; i < 10; i++) {
 Prototype temp = a.clone();
 temp.setSize(i);
 temp.printSize();
 }
 }
}

在java标准库应用 java.lang.Object - clone() 

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-prototype/

© 著作权归作者所有

共有 人打赏支持
奋斗到天明
粉丝 18
博文 112
码字总数 82707
作品 0
昌平
程序员
设计模式之五大创建型模式

一、概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 (2)结构型模式,共七种:适配器模式、装饰器模式、代理...

小城故事_
2016/03/19
53
0
Java经典设计模式之五大创建型模式(附实例和详解)

原文出处: 小宝鸽 一、概况 总体来说设计模式分为三大类: (1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 (2)结构型模式,共七种:适配器模式...

刘星石
2016/03/08
6
0
Java程序员从笨鸟到菜鸟之(三十四)大话设计模式(五)创建者模式和原型模式

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 创建者模式是创建型模式中最负责的一个设计模式了,创建者负责构建一个对象的各个部分,并且完成组装的过程....

长平狐
2012/11/12
201
0
小菜学设计模式——设计模式总结之创建型

1、面向过程与面向对象 1)面向过程通过划分功能模块,通过函数间相互调用来实现,但需求变化时就需要更改函数,而你改动的函数有多少地方在调用她呢?关联多少数据,这是很不容易弄得清楚地...

learn_more
2015/07/05
0
0
PHP之设计模型分类(二)

创建型模式: 单例模式、工厂模式(简单工厂、工厂方法、抽象工厂)、创建者模式、原型模式。 1、单例模式 目的:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 应用场景:数据库...

peasant
2016/05/03
45
0

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
23分钟前
0
0
现场看路演了!

HiBlock
昨天
4
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
4
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
4
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部