Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 1321|回復: 0
打印 上一主題 下一主題

设计模式之工厂模式-工厂方法模式

[複製鏈接]

2774

主題

2776

帖子

9482

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
9482
跳轉到指定樓層
樓主
發表於 2019-8-28 18:13:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
要便利披萨品种的扩大、要便于保护、要能运行时辰便利扩大

来看看披萨族设计:

司小司颠末阐发获得:披萨都必要烘焙(bake)、切割(cut)、包装(box)另有就是披萨原质料筹备(prepare)。此中变革的就是prepare筹备的原质料。分歧披萨的原质料分歧,可是都必要举行烘焙、切割、包装。以是,咱们这里原质料法子就做抽象的,不详细实现了。颠末阐发以后获得以下类图:

第一次设计:利用简略工场模式(可以参考上一篇的司小司面馆项目)发明不可。为甚么呢?

跟着披萨愈来愈火,不少处所都要加盟了。若是加盟的话,每一个处所都要建立一个简略工场模式那样,一样的代码,就要建立不少份,在保护的时辰,就很贫苦的。

选择第二种设计:工场法子模式。

先来看看项目布局:

阐明:

1:domain:是详细pojo工具。都担当于PizzaAbstract类

此中以BeiJin开首的,都是北京连锁樹林借款,店的。以ShanHai开首的都是上海连锁店的。

2和3是披萨和披萨定单的抽象类

4:详细连锁点的定单类。都担当于PiazzOrderAbstract类

5:测试类

咱们先来看看两个抽象类。

PizzaAbstract类:

PizzaOrderAbstract类:

在来看一个北京的greekpizza:

在来看看BeiJinOrderPizza:

测试类:

检察运行成果:

经由过程上面代码演示,咱们可以获得如下:

工场法子模式设计方案:

将披萨项目里的披萨工具实例化功效抽象成抽象法子,在分歧加盟店详细实现功效。

工场法子模式:

界说了一个建立工具的抽象法子,由子类决议要实例化的类。从这句话中,咱们可以晓得,工场法子模式是将工具的实例化(建立)推延到子类中了。

工场法子模式和简略工场模式比拟:

简略工场模式:

按照类的标识,经由过程工场工具便可以获得详细类的实例工具了。在工场工具内里,类工具的实例化以下肉丸机,:

工具的实例化,是在工场工具内里。

工场法子模式:

是将工具的建立,抽掏出来了。就是建立披萨的法子,抽取到一个详细的类中。

咱们在来看看,披萨定单工具:

在详细挪用的时辰:

PizzaOrderAbstract bjOder = new BeiJinOrderPizza();挪用详细的子类。

而工具的实例化,是在子类中举行的。

工场法子模式经由过程一个抽象的工场类来建立工场,再由工场经由过程必定的法子缔造必定的新北市當舖,工具,如许若是有新的产C呈现不必要点窜已有代码只要新建一个产物的从子类和工场的子类便可以啦。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|網紅們減肥成功案例分享論壇  

音波拉皮, 水微晶, 減肥, 瘦身, 聚左旋乳酸, 泡腳包, 滑鼠墊, 減肥方法, 減肥產品, 懶人減肥, 瘦身飲食, 玻尿酸美白針美體SPA, 塑身, 電波拉皮, 暴牙, 牙冠增長術, 創業加盟推薦, 鹹酥雞推薦, 減肚腩茶音波拉皮, Ellanse紫錐花, 呼吸照護, 飄眉, 娛樂城推薦, 百家樂, 減肥食物LPG, 搬家公司, 翻譯社, 贈品, 禮品, 壯陽藥, 電波拉皮, 玻尿酸, 風濕關節炎, 治療高血脂, 減肥方法, 生髮, 微創植牙, 植牙權威, 背心, 外套, 三重當舖, polo衫, 借款, 借錢, 借貸, 傳感器, 2H2D持久液, 沙發修理, 壯陽藥減肥茶素描畫室台中搬家公司, 抽脂價格, 保麗龍切割, 治療耳鳴, 快速除毛方法, 抗皺眼霜, 眼科, 脫毛膏, thermage FLX酵素梅, 日本DOKKAN, 減肥藥, 巧克力減肥, 泡泡面膜, 包皮過長, 塑身, 體雕, 童顏針, 痔瘡藥膏美白去斑生髪, 治療脫髮, 隆乳, 割雙眼皮, 防止掉髮, 口臭, 白內障, 微創植牙, 白木耳, 玻尿酸, 皮秒, 壯陽藥, 童顏針, 消脂針, 滑鼠墊, 音波拉皮,

GMT+8, 2024-4-19 21:41 , Processed in 0.083835 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表