文档章节

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

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

码上生花,ECharts 作品展示赛正式启动!>>>

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

原型模式类图

原型模式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/

© 著作权归作者所有

奋斗到天明
粉丝 19
博文 112
码字总数 82707
作品 0
昌平
程序员
私信 提问
加载中
请先登录后再评论。
设计模式之五大创建型模式

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

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

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

刘星石
2016/03/08
106
0
通俗易懂设计模式解析——原型模式

前言   前面几章我们介绍了创建型设计模式的部分内容,今天我要说的是创建型设计模式中最后一个——原型模式,原型模式是创建型模式中的一种较为特殊的模式,有个最大的特点是克隆一个现有...

osc_ehtwxifo
04/16
1
0
《设计模式》第二部分 创建型设计模式 第2章 创建型设计模式简介

创建型模式(Creational Pattern)对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚...

Bruceoxl
03/31
0
0
Java程序员从笨鸟到菜鸟之(三十四)大话设计模式(五)创建者模式和原型模式

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

长平狐
2012/11/12
266
0

没有更多内容

加载失败,请刷新页面

加载更多

如何离线安装所有依赖包

当我们在一个没有公网的环境下去部署一些东西的时候往往是让人很头疼的一件事,因为可能会需要各种依赖包,依赖包本身也还有很多依赖关系。如果没有一次性把全部的依赖包打包下载好,我们下载...

osc_exgfhxar
36分钟前
8
0
7款优秀Vim插件帮你打造完美IDE - 知乎

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,不管是Java、C还是Python,使用IDE编程可以帮你检查语法、自动补全、后台编译等,写代码就变得...

osc_56801rv0
37分钟前
31
0
算法工程师的数学基础|线性代数中的向量内积和外积概念及几何意义

线性代数主要包含向量、向量空间(或称线性空间)以及向量的线性变换和有限维的线性方程组。本篇文章主要介绍线性代数部分中的向量和向量空间。 本篇内容主要是对线性代数中向量点积和外积补...

osc_sw1y4qdg
38分钟前
22
0
Python json.dumps 中文问题

今天用json.dump()函数,遇到了中文自动转Unicode编码的问题 def dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None,......

osc_dbf92nqg
39分钟前
17
0
菜鸟如何在阿里云快速建站(pc站+手机站+公众号+小程序)

在当今互联网大发展的时代,互联网已经成为和吃饭睡觉一样平常的事物。不论个人还是公司、不论是打工的还是老板、不论是农村的还是城市的,不知道互联网的人大概只剩下那些年龄过高的部分老年...

osc_hinb5m98
41分钟前
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部