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