在現實生活中,有很多的例子,可以讓我們很好的理解設計模式。它們可以實實在在的告訴我們用設計模式有什麼好處,能解決什麼問題。很多講解設計模式的書籍或者文章,都或多或少地用到了,它能使描述更加生動,淺些,更容易被理解。
為了更好地說明設計模式,本文杜撰了乙個主人公小李,他是個it設計師,為了生存,毅然下海,不斷利用自己的it經驗,改善經營。但下海有風險啊,為此他不斷地改變自己的職業(沒辦法,不換職業說不清楚啊)。下面就開始正文啦,會不會太監不知道,哈哈。
it設計師小李闖蕩it很多年了,但收入有限,在it界很難混啊,也看不到錢途,十分茫然。
現在的時代,人越來越注重健康問題,不像以前,在吃不飽飯,穿不暖衣,誰還管是不是健康。現在小區周圍,那是藥房林立,一家藥店的兩個分店甚至於能開到只隔一條3公尺寬的馬路,可見藥店的生意和利潤肯定是不錯的。
看到賣藥似乎很能掙錢,毅然決定棄it從商。將多年的積蓄,開了乙個小藥店,自己開始了既是老闆又是員工的創業歷程。
創業初期,小李也比較謹慎,只賣幾種常規的西藥,比如康泰克,快克,芬必得,布洛芬等家庭常備藥品。當有顧客來時,根據顧客需要的藥品,他親自給顧客拿,東奔西走的。如果用**來表示的話,大致是這樣:
if(顧客要康泰克)
到康泰克藥品櫃檯拿康泰克;
else if(
顧客要快克)
到快克藥品櫃檯拿快克;
else if(
顧客要芬必得)
……就這樣幹了一段時間,小李累得夠嗆,一趟一趟地跑,幹it的時候,成天坐電腦前,體能早不行了啊(所以奉勸各位it民工,注意鍛鍊身體啊,哪天it界混不下去了,也好有體力去幹其它民工活,你說是不是啊)。
於是,在掙到第一桶金後,小李狠狠心,一下招聘了幾名員工,每人負責乙個藥品櫃檯,當顧客要某種藥品後,小李只需要喊一嗓子,負責該種藥品櫃檯的員工就將藥品給他拿過來。哈哈,小李輕鬆多了,原來要自己滿屋跑,現在只需要喊一嗓子就行了。
這時候用圖表示大概是這樣的:
慢慢地,小李的生意越來越好,可由於天天要喊嗓子,都快啞了,為此每天要消耗不少金嗓子喉寶呢。另外,隨著生意的興隆,小李也大膽的拓寬了藥品品種,以便使用者能給顧客更多地選擇,比如必理通,白加黑等等。另外,自己怎麼也是個小老闆了,總不能還要自己整天喊吧,不知道的還以為自己是夥計呢,沒面子啊。所以,小李又招聘了兩個藥品經理,分別負責感冒藥和頭疼藥,這樣小李就可以安心當老闆啦。
這時候用圖表示大概是這樣的:
現在,小李只需安心收錢了,喊嗓子的事,都交給藥品經理去負責啦(大不了給他們發點福利,每個月幾盒喉寶)。每個藥品經理,只需要告知自己負責的藥品櫃檯的店員去拿相應的藥品出來就行了。
生意上軌道了,很快的,小李又不滿足現狀了。光賣西藥哪行啊,中西結合才是重點。所以,小李擴大了店面,開始賣中藥啦。什麼決明子、當歸、半夏等也擺了一櫃檯。
另外,光賣藥也不行啊,競爭太激烈,如果藥店請幾個醫師的話,可能更能滿足顧客的要求,有些小毛小病,直接看一看,然後推薦一下藥品,也避免使用者亂吃藥嘛。
為此,還招聘了幾名中藥配藥師,負責根據醫師的藥方配藥。中藥配藥師能力與西藥店員不同,他需要能夠根據藥方進行配藥,不同的配藥師,負責不同型別藥方的配藥工作。
這時候用圖表示大概是這樣的:
醫師比較厲害,有可能即推薦西藥,同時又推薦中藥哦,中西合璧,藥到病除啊。各位要問了,藥品經理到**去了?這個
……,也許去考醫師證去了吧?
至於小李的後續如何,我也不知道,哈哈,剛寫到這。
(這幾個圖能看明白吧?有牽強處,盡情諒解。我也是邯鄲學步啊。)
抽象工廠模式 工廠的工廠
圍繞乙個超級工廠建立其他工廠,該超級工廠又稱為其他工廠的工廠。抽象工廠模式提供了乙個建立一系列相關或者依賴物件的介面,無需指定他們具體的類。同一產品族的東西都是由同乙個工廠生產的,但同一產品族位於不同等級結構 產品等級數量相對固定的一些產品族 可以考慮使用抽象模式 先寫兩個產品 手機 路由器。再寫兩...
靜態工廠模式 工廠模式 抽象工廠模式 解決的問題
提前總結 工廠模式的主要作用是封裝變化,把經常變化的地方封裝成乙個類。這樣可以避免重複,方便維護。使客戶 和實現 解耦,客戶在例項化物件時,依賴於介面,而不是具體的實現類。問題的引出 假如你有一家披薩店,你只會做一種披薩 public class pizzastore 後來你學會做多種披薩可供選擇,...
工廠模式(更新之前的工廠模式)
工廠模式,適用於建立複雜的物件的地方,若可直接用new完成物件建立則可無需使用工廠模式 工廠模式的主要組成 抽象產品類 package ban.com public abstract class product具體產品類a package ban.com public class concretep...