享元和命令組合設計模式

2021-08-17 21:18:00 字數 1739 閱讀 5821

1.享元設計模式:

定義:使共享物件可有效的支援大量的細粒度的物件,核心其實就是物件復用

使用:message,layoutinflater,eventbus (pendingpost)

火車票

public

class ticket

int getprice()

}

火車票工廠

public

class ticketfactory

ticket=new ticket(from,to);

sticketmap.put(key,ticket);

return ticket;

}}

測試

for(int i=0;i

<1000;i++)

命令設計模式

定義:將乙個請求封裝成乙個物件,從而讓使用者使用不同的請求把客戶端引數化,對請求排隊或者記錄日誌,以及支援可撤銷的工作。

俄羅斯方塊

public

class tetrismachine

public

void

toright()

}

命令介面:執行

public

inte***ce command

左命令

public

class

leftcommand

implements

command

@override

public

void

execute()

}

右命令

public

class

rightcommand

implements

command

@override

public

void

execute()

}

按鈕

public

class buttons

public

void

setleftcommand(leftcommand leftcommand)

public

void

toright()

public

void

toleft()

}

測試

public

class client

}

組合模式

定義:將物件組合成樹形結構以表示 「部分-整體」 的層次結構,使得使用者對單個物件和組合物件的使用具有一致性

與門面設計模式的區別,組合是 「部分-整體」 的關係,門面是單獨的關係(依賴關係)

使用:viewgroup , 用乙個recyclerview去實現乙個 expendrecyclerview(兩個recyclerview巢狀的效果)

享元設計模式

享元定義 實踐 享元實體物件 乙個學科可以包含多個學生 姓名,所以學科為內部不可變狀態,而學生 姓名,為外部可變狀態 author zrh date 2021 2 3 15 51 data public class xianyuanmodel 享元實體工廠類 author zrh date 2021...

設計模式 享元

運用共享技術有效地支援大量地細粒度物件。享 代表共享 元 基本單元 關鍵概念 內部狀態和外部狀態 以下情況都成立時方可使用 乙個應用程式使用了大量地物件 大量地物件造成了儲存開銷 物件地大多數狀態可變為外部狀態 刪除物件地外部狀態,可以使用相對較少地共享物件取代很多組物件 應用程式不依賴於物件表示 ...

設計模式(享元模式)

享元模式是設計模式中少數幾個已提高系統效能為目的模式之一。它的核心思想是 如果系統存在多個 相同的物件,那麼只需要共享一分物件的拷貝,而不必為每一次使用都建立新的物件。當有物件被大量復用時,特別是重量級的物件復用可以使用享元模式來提高系統效能。其優點如下 1.可以節省重複建立物件的開銷,因為被享元模...