設計模式之-原型模式-Prototype
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
適用性
1.當一個系統應該獨立於它的產品建立、構成和表示時。 2.當要例項化的類是在執行時刻指定時,例如,通過動態裝載。 3.為了避免建立一個與產品類層次平行的工廠類層次時。 4.當一個類的例項只能有幾個不同狀態組合中的一種時。 建立相應數目的原型並克隆它們可能比每次用合適的狀態手工例項化該類更方便一些。
參與者
1. Prototype 宣告一個克隆自身的介面。 2. ConcretePrototype 實現一個克隆自身的操作。 3. Client 讓一個原型克隆自身從而建立一個新的物件。
package pack.java.demo;
/**
* 原型模式 實現克隆介面;
* @author Administrator
*
*/
public class Prototype implements Cloneable{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object clone(){
Object obj = null;
try {
obj = super.clone();
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return obj;
}
}
package pack.java.demo;
public class ConcretePrototype extends Prototype{
public ConcretePrototype(String name){
setName(name);
}
}
package pack.java.demo;
public class TestPrototype {
/**
* 主方法;
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Prototype concretePrototype = new ConcretePrototype("Test");
Prototype prototype = (Prototype) concretePrototype.clone();
System.out.println(concretePrototype.getName());
System.out.println(prototype.getName());
}
}
執行結果:
Test
Test
Test
相關文章
- 設計模式-原型模式(Prototype)設計模式原型
- 設計模式--原型模式(Prototype Pattern)設計模式原型
- 《設計模式 》 - 4. 原型模式( Prototype )設計模式原型
- C#設計模式-原型模式(Prototype Pattern)C#設計模式原型
- 設計模式之原型模式設計模式原型
- 設計模式之原型設計模式原型
- 一天一個設計模式(四) – 原型模式(Prototype)設計模式原型
- 一天一個設計模式(四) - 原型模式(Prototype)設計模式原型
- go設計模式之原型模式Go設計模式原型
- golang設計模式之原型模式Golang設計模式原型
- Java設計模式之(四)——原型模式Java設計模式原型
- 建立模式 02-Prototype(原型)模式原型
- 設計模式-原型模式(Prototype)【重點:淺複製與深複製】設計模式原型
- 設計模式-原型模式設計模式原型
- 設計模式 —— 原型模式設計模式原型
- 設計模式(原型模式)設計模式原型
- 設計模式:原型模式設計模式原型
- Java設計模式-原型模式Java設計模式原型
- Java設計模式---原型模式Java設計模式原型
- 設計模式【5】-- 原型模式設計模式原型
- 設計模式(三)——原型模式設計模式原型
- java設計模式—原型模式Java設計模式原型
- 23種設計模式(八)-原型設計模式設計模式原型
- 設計模式之-原型模式(三妻四妾)設計模式原型
- 極簡設計模式-原型模式設計模式原型
- GoLang設計模式05 - 原型模式Golang設計模式原型
- 設計模式入門:原型模式設計模式原型
- 【設計模式(四)】建立型模式--原型模式設計模式原型
- 設計模式 #3 (原型模式、建造者模式)設計模式原型
- 設計模式--原型模式及其程式設計思想設計模式原型程式設計
- 設計模式讀書筆記之原型模式、釋出訂閱模式設計模式筆記原型
- 設計模式(Java語言)- 原型模式設計模式Java原型
- 23種設計模式-原型模式(3)設計模式原型
- Rust語言之GoF設計模式:原型模式RustGo設計模式原型
- 設計模式快速學習(五)原型模式設計模式原型
- 設計模式:原型模式介紹 && 原型模式的深拷貝問題設計模式原型
- 重溫23種設計模式(11):原型模式設計模式原型
- 重學 Java 設計模式:實戰原型模式Java設計模式原型
- java23種設計模式——四、原型模式Java設計模式原型