1. 程式人生 > >JAVA實現原型模式

JAVA實現原型模式

環境:

  郵件複製功能,郵件物件包含的內容較多(傳送者、接收者、標題、內容、日期等),對於已經建立好的郵件物件,可以通過複製的方式建立一個新的郵件物件,如果需要改變某部分內容,無須修改原始的郵件物件,只需要修改複製後得到的郵件物件即可

問題:

  需要建立多個相同或者相似的物件且各物件之間是相互獨立的,這個類結構複雜(如建構函式極複雜),使用New例項化物件耗時長,代價高

解決方案:

  通過複製現有的物件(自身)來建立新的物件(原型模式)

角色:

Prototype(抽象原型類):針對抽象原型類程式設計,使用者可以根據需要選擇具體的原型類,系統具有較好的擴充套件性,增加或者更換原型類都很方便

ConcretePrototype(具體原型類)

Client(客戶類)

Prototype.java

java <wbr>原型模式

ConcretePrototypeA.java

java <wbr>原型模式

ConcretePrototypeB.java 比如這是帶有郵件日期或郵件附件的郵件
java <wbr>原型模式

Client.java
java <wbr>原型模式

結果
java <wbr>原型模式