JAVA 原型模式的實現

2021-07-11 08:08:16 字數 1457 閱讀 2154

訂單處理系統

現在有乙個訂單處理系統,裡面有乙個儲存訂單的業務功能,需求:每當訂單的預定產品數量超過1000的時候,就需要把訂單拆成兩份訂單來儲存。如果拆成兩份後還是超過1000,則繼續拆分,直到每份產品預訂數量不超過1000.

根據業務,目前的訂單系統分成兩種,一種是個人訂單、一種是公司訂單。

客戶名稱、產品物件(id,name),訂購產品數量。

公司名稱、產品物件(id,name),訂購產品數量。

/**

**具體實現

*/ package proto;

/**

* 產品類,用於原型模式中的深複製

* 有id 和name兩個引數

* *

*/ public class product implements cloneable

public int getid()

public void setid(int id)

public string getname()

public void setname(string name)

public product clone()

catch (clonenotsupportedexception e)

return product;

}package proto;

/**

* 訂單類,含有產品的物件並進行深複製

* *

*/ public class order implements cloneable

public order(string ordername, product product, int number)

public string getordername()

public void setordername(string ordername)

public product getproduct()

public void setproduct(product product)

public int getnumber()

public void setnumber(int number)

public order clone()

catch (clonenotsupportedexception e)

return order;

}public void show()

package proto;

/**

* 訂單處理類

* 運用迭代的思想對訂單進行處理

* 兩次clone

* */

public class dealorder

public order deal()

}return halforder;

}}package proto;

public class clinte

Java設計模式 原型模式

原型模式是乙個建立型的模式。該模式有乙個樣板例項,使用者從這個樣板物件中複製出乙個內部屬性一致的物件,這個過程也就是俗稱的 轉殖 被複製的例項就是所稱的 原型 原型模式 用原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件 通過實現cloneable介面 public class wordd...

scala實現原型模式

package com.linewell.modeldesgin.prototype 樣例類,週報,通過其提供的copy方法完成乙個原型模式 param name 姓名 param date 時間 param content 內容 case class weeklylog var name stri...

java設計模式 原型模式(Prototype)

prototype原型模式是一種建立型設計模式,prototype模式允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節,工作原理是 通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝它們自己來實施建立 原型模式實際上非常簡單,只是要實現clon...