Android設計模式之(14) 模板模式

2021-08-07 12:56:56 字數 2028 閱讀 8752

模板模式屬於行為模式.

簡單理解,某一套程式的流程是不改變的,但是具體的內容是可以更改的。

例如公司的財務報表,需要進行申請,然後經理簽字以後才可以審批下來。

流程:下屬財務資金審核提交—->經理審核—->經理簽字—->審批完成

內容:有2個人去申請資金,他們執行的流程是一樣的,但是具體申請的資金以及經理審批後給予的資金是作為內容可以改變的。

(一)資金審核流程介面

public

inte***ce step

審核需要4次流程,在第一步的流程中需要傳入準備審核的金額。

(二)具體的審核流程

public

class

fundrequest

implements

step

@override

public

void

steptwo()

@override

public

void

stepthree()

@override

public

void

stepfinish()

//審核流程 不可更改

public

final

void

review()

system.out.println("\n" + "\n" + "------資金審核開始------");

steptwo();

stepthree();

stepfinish();

system.out.println("\n" + "\n" + "------資金審核結束-------");

}}

在審查過程中,將實際可以修改的金額內容放在外部,具體流程按照1—>2—>3—>4執行下去.

(三)下屬的具體資金審核請求

public

class

staffonerequest

extends

fundrequest

@override

public

void

stepone()

@override

public

void

steptwo()

@override

public

void

stepthree()

@override

public

void

stepfinish()

}

在構造引數中對具體的內容金額進行輸入輸出.

//員工一號

staffonerequest staffonerequest=new staffonerequest(20,10);//審核金額20,通過金額10

staffonerequest.review();

//員工二號

staffonerequest staffonerequest2=new staffonerequest(50,50);//審核金額50,通過金額50

staffonerequest2.review();

分別兩個員工請求,通過構造引數的修改傳值,在不改變實際流程的情況下完成對內容的更改.(有需求的也可以擴充套件方法進行修改,這裡不做演示)

---

---資金審核開始--

----

經理審核金額:20

經理審批金額:10

審批允許的實際金額:10--

----

資金審核結束--

----

----

---資金審核開始--

----

經理審核金額:50

經理審批金額:50

審批允許的實際金額:50--

----

資金審核結束--

----

-

缺點

Android設計模式之Builder模式

設計模式是我們在平時程式設計的過程中對一些常見的問題場景總結出來的最優程式設計套路,按照設計模式的思想,我們在程式設計的過程中遇到類似的問題時可以快速的套用對應的設計模式,從而高效的解決問題。在平時的開發過程中,我們也經常接觸到各種設計模式,甚至我們自己寫的 也會不自覺的使用到設計模式,只是可能叫不...

設計模式之組合模式14

迭代器模式pass,因為迭代器模式是在jdk1.2出現iterator時的模式。對於現在用list,map遍歷即可搞定。乙個組織架構圖,上至ceo,下至普通開發人員,有這樣的乙個樹結構,我們用組合模式來實現 將物件抽離為以下幾種 抽象資訊類 public abstract class crop pu...

JAVA設計模式(十七)設計模式之策略設計模式

本章講解設計模式中策略設計模式的相關知識 1.概念 在策略模式 strategy pattern 中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 contex...