flyweight模式回想
1.如果存在一個帳單打印系統,例如它可以打印以下東西,你的消費紀錄,你的詳細消費紀錄,公司所有人的消費紀錄.2.每個消費紀律的格式是同一的,這樣就可以有一個對象,這個格式對象負責打印所有的對象格式,而系統根據用戶不同用戶對格式的要求,可以分為3種,而內蘊就是這三種格式的格式類別
3.當打印的時候,根據用戶提供的要求的格式類別,找到自己要的格式對象(如果有此對象,直接使用,一個類別只有一個對象),然后print(String name)提供自己的信息,也就是所謂的外蘊,然后打印出符合自己的信息。
4.如果發現公司用戶,則根據公司信息,找到公司的所有員工,信息,如果原來已經有了格式,可以在此利用。
總之,就是對一些有共同點的對象的反復利用,比如帳單,所有人的帳單的格式都是相同的,不同的就是具體的內容不同,如果每一個用戶都生成一個完整的帳單,就會造成浪費,這也是重構的結果,封裝相同的代碼,代碼重用。