多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 設計模式:抽象工廠模式

設計模式:抽象工廠模式

來源:程序員人生   發布時間:2015-01-16 08:46:12 閱讀次數:3588次

原文地址:http://leihuang.org/2014/12/03/abstract-factory/

Creational 模式

物件的產生需要消耗系統資源,所以如何有效力的產生、管理 與操作物件,1直都是值得討論的課題, Creational 模式即與物件的建立相干,在這個分類下的模式給出了1些指點原則及設計的方向。下面羅列到的全屬于Creational 模式

  • Simple Factory 模式
  • Abstract Factory 模式
  • Builder 模式
  • Factory Method 模式
  • Prototype 模式
  • Singleton 模式
  • Registry of Singleton 模式

抽象工廠模式

前面我們講了簡單工廠模式,那里我們將電影分為動作片和愛情片,那末電影有便宜的有貴的之分,此時觀眾提出要求,我只看便宜的動作片,有些要看貴的電影片,那末照我們前面簡單工廠就不夠用了.

怎樣辦呢,觀眾要求變復雜了,那末我們只有讓工廠也復雜起來,Fox公司(IFoxFilmFactory)下面分為兩個部門,生產貴電影的部門(ExpensiveFilmFactory),生產便宜電影的部門(EconomicFilmFactory).此時電影分類也復雜了,動作片(IActionMovie)有貴的(ExpensiveActionMovie),有便宜的(EconomicActionMovie),愛情片(ILoveMovie)有貴的(ExpensiveLoveMovie),有便宜的(EconomicLoveMovie).

下面時類圖

img

IActionMovie 接口 --動作片

public interface IActionMovie { public void playAction() ; }

ILoveMovie 接口 --愛情片

public interface ILoveMovie { public void playLove() ; }

ExpensiveActionMovie 類 --貴的動作片

public class ExpensiveActionMovie implements IActionMovie { @Override public void playAction() { System.out.println("貴的-哼哼哈兮!"); } }

EconomicActionMovie 類 --便宜的動作片

public class EconomicActionMovie implements IActionMovie { @Override public void playAction() { System.out.println("便宜-哼哼哈兮!"); } }

ExpensiveLoveMovie 類 --貴的愛情片

public class ExpensiveLoveMovie implements ILoveMovie { @Override public void playLove() { System.out.println("貴的-愛老虎油!"); } }

EconomicLoveMovie 類 --便宜的愛情片

public class EconomicLoveMovie implements ILoveMovie { @Override public void playLove() { System.out.println("便宜-愛老虎油!"); } }

IFoxFilmFactory 接口 --Fox總工廠

public interface IFoxFilmFactory { public IActionMovie getActionMovie() ; public ILoveMovie getLoveMovie() ; }

ExpensiveFilmFactory 類 --生產貴電影的部門

public class ExpensiveFilmFactory implements IFoxFilmFactory { @Override public IActionMovie getActionMovie() { return new ExpensiveActionMovie(); } @Override public ILoveMovie getLoveMovie() { return new ExpensiveLoveMovie(); } }

EconomicFilmFactory 類 --生產便宜電影的部門

public class EconomicFilmFactory implements IFoxFilmFactory { @Override public IActionMovie getActionMovie() { return new EconomicActionMovie(); } @Override public ILoveMovie getLoveMovie() { return new EconomicLoveMovie(); } }

AudienceClient 類 --觀眾

public class AudienceClient { public static void main(String[] args) { IFoxFilmFactory fox1 = new EconomicFilmFactory() ; fox1.getActionMovie().playAction(); fox1.getLoveMovie().playLove(); IFoxFilmFactory fox2 = new ExpensiveFilmFactory() ; fox2.getActionMovie().playAction(); fox2.getLoveMovie().playLove(); /* print * 便宜-哼哼哈兮! * 便宜-愛老虎油! * 貴的-哼哼哈兮! * 貴的-愛老虎油! */ } }


2014⑴2-03 16:50:20

Brave,Happy,Thanksgiving !


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲黄色免费在线观看 | 久久久网久久久久合久久久久 | 亚洲久久在线观看 | 性欧美videofree另类17 | 久久国产大片 | 91精品成人福利在线播放 | 一区二区高清视频 | 亚a在线| 日本高清护士xxxxx | 小说区 综合区 都市激情 | 日本一区视频在线播放 | a天堂中文在线 | 男女xx网站 | 欧美日韩国产综合在线小说 | 国产69精品久久久久妇女 | 大美香蕉伊在看欧美 | 中文字幕免费人成乱码中国 | 亚洲精品视频在线 | 国产精品高清一区二区 | 久久久久色 | 日韩亚州 | 国产日本欧美在线观看乱码 | 久久国产精品一区二区 | 亚洲一区二区三区91 | 欧美精品一区二区三区免费播放 | 国语精品视频在线观看不卡 | 日韩一级片免费观看 | 欧美αv天堂在线视频 | 中文字幕一区二区三区永久 | 在线观看日本永久免费视频 | 亚洲人成影网站~色 | 精品日韩欧美国产一区二区 | japanesexxxxx护士 japanesexxx在线播放 | 日本视频一区二区免费播放 | jizzjizzjizz亚洲女| 在线观看精品国产福利片100 | 中文字幕在线永久在线视频2020 | 麻豆高清视频在线观看 | 三级欧美在线 | 欧美理伦视频 | 免费a级作爱片免费观看中 免费a网站 |