日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

設計模式:抽象工廠模式

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

原文地址: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 !


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美大吊视频 | 亚洲精品久久久久久下一站 | 爱爱小视频网站 | 国产一区二区免费网站 | 久久精品首页 | 午夜精品久久久久久久白皮肤 | 在线观看日韩视频 | 午夜毛片免费看20次 | 看免费黄色一级片 | 久久久精品一区二区三区 | 国产日韩欧美精品 | 老色网站 | 日本精品免费 | 国产成人免费网站 | 国产免费无遮挡 | 天堂国产 | 在线视频 亚洲 | 亚洲+变态+欧美+另类+精品 | 色玖玖 | 黄色三级电影网站 | 欧美日韩亚洲国内综合网 | 亚洲第一天堂 | 国产美女久久 | 欧美日韩国产三区 | 99视频精品在线 | 欧美二区视频 | 日韩一级精品视频在线观看 | 色免费在线 | 日韩精品无码一区二区三区 | 国产精品国色综合久久 | 成人做爰www免费看视频网战 | 正在播放国产一区 | 99国产精品久久 | 亚洲欧美一区二区三区在线 | 九九av| 国产成人精品一区二区在线 | 色婷婷视频在线观看 | 精品视频免费 | 亚洲精品久久久久久久久久久久久 | 污视频链接| 91精品国产色综合久久不卡98口 |