成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

工廠模式

elina / 2549人閱讀

摘要:但這樣的話就違背了開發(fā)封閉原則而工廠模式就可以解決這一個問題先看代碼雷鋒類掃地洗衣買米而現(xiàn)在有學(xué)生類和社會人士類要實現(xiàn)這個方法接下來就是重點了雷鋒工廠學(xué)生工廠和社會人士的工廠在方法中現(xiàn)在就可以看出來差距簡單工廠工廠模式

工廠模式,之前講述了簡單工廠模式。兩者是什么區(qū)別,暫時。先來講解一下工廠模式

工廠模式主要是通過接口來實現(xiàn)產(chǎn)品的制作
在main方法創(chuàng)建對象的時候得到這個接口的抽象方法,而這個抽象方法就是為實現(xiàn)這個共有功能而存在

做一個比喻,(大話設(shè)計模式里面的)
雷鋒精神是一個共有的功能,而學(xué)習(xí)雷鋒現(xiàn)在存在兩種人,學(xué)生和社會人士。那么該怎么樣實現(xiàn)呢
大家可以按照之前學(xué)習(xí)的簡單工廠模式寫一下,你會發(fā)現(xiàn)如果再加一種人的話就要改變switch,在里面添加。但這樣的話就違背了
開發(fā)-封閉原則

而工廠模式就可以解決這一個問題
先看代碼

雷鋒類
public class LeiFeng {
? ?public void Sweep(){
? ? ? ?System.out.println("掃地");
? }
? ?public void Wash(){
? ? ? ?System.out.println("洗衣");
? }
? ?public void BuyRice(){
? ? ? ?System.out.println("買米");
? }
}
而現(xiàn)在有學(xué)生類和社會人士類要實現(xiàn)這個方法
public class Undergraduate extends LeiFeng {
}
public class Volunteer extends LeiFeng {
}
接下來就是重點了
雷鋒工廠
interface IFactory {
? ?LeiFeng CreateLeiFeng();
}
學(xué)生工廠和社會人士的工廠
public class UndergrouateFactory implements IFactory {
? ?@Override
? ?public LeiFeng CreateLeiFeng() {
? ? ? ?return new Undergraduate();
? }
}
public class VolunteerFactory implements IFactory{
? ?@Override
? ?public LeiFeng CreateLeiFeng() {
? ? ? ?return new Volunteer();
? }
}
在main方法中
IFactory iFactory = new VolunteerFactory();
? ? ? ?LeiFeng student = iFactory.CreateLeiFeng();
? ? ? ?student.BuyRice();
? ? ? ?student.Sweep();
? ? ? ?student.Wash();
? ? ? ?IFactory iFactory1 = new UndergrouateFactory();
? ? ? ?LeiFeng leiFeng = iFactory1.CreateLeiFeng();
? ? ? ?leiFeng.BuyRice();
? ? ? ?leiFeng.Sweep();
? ? ? ?leiFeng.Wash();
現(xiàn)在就可以看出來差距
簡單工廠

工廠模式

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/70951.html

相關(guān)文章

  • JavaScript工廠模式

    摘要:基于工廠角色和產(chǎn)品角色的多態(tài)性設(shè)計是工廠方法模式的關(guān)鍵。工廠方法模式之所以又被稱為多態(tài)工廠模式,是因為所有的具體工廠類都具有同一抽象父類。工廠方法模式總結(jié)工廠方法模式是簡單工廠模式的進(jìn)一步抽象和推廣。 JavaScript工廠模式 首先需要說一下工廠模式。工廠模式根據(jù)抽象程度的不同分為三種 簡單工廠模式 工廠方法模式 抽象工廠模式 1.簡單工廠模式 簡單工廠模式:又稱為靜態(tài)工廠方法...

    oujie 評論0 收藏0
  • 工廠模式-設(shè)計模式

    摘要:不過怎么來說工廠方法模式是簡單工廠模式的升級版。其次,工廠模式是一種典型的解耦模式,迪米特法則在工廠模式中表現(xiàn)的尤為明顯。 工廠模式想必大家在開發(fā)過程中會經(jīng)常用到,顧名思義其就是作為一個工廠用來生產(chǎn)產(chǎn)品的,下面來簡單介紹幾種常見的工廠模式。 0x01 簡單工廠模式 1、類圖結(jié)構(gòu)showImg(/img/bVFf1t?w=531&h=278); 2、角色分類 工廠類:其內(nèi)部具有一點的判...

    HtmlCssJs 評論0 收藏0
  • 設(shè)計模式學(xué)習(xí)筆記:工廠模式

    摘要:二簡單工廠模式組成工廠類工廠模式的核心,通過調(diào)用它來實現(xiàn)其他類的功能。三工廠方法模式利用工廠方法模式可以有效解決簡單工廠模式破壞開閉原則的問題。 一、概念 1、工廠模式分為三類:(1)簡單工廠模式:一個工廠創(chuàng)建所有產(chǎn)品(2)工廠方法模式:一個工廠方法創(chuàng)建一個產(chǎn)品(3)抽象工廠模式:一個工廠方法創(chuàng)建一類產(chǎn)品 2、創(chuàng)建型模式這種模式是指將實例的創(chuàng)建和使用分離開來,隱藏類實例的創(chuàng)建細(xì)節(jié),外界...

    luxixing 評論0 收藏0
  • Java 設(shè)計模式 簡單工廠 工廠模式 抽象工廠

    摘要:簡單工廠,工廠模式和抽象工廠。不要認(rèn)為簡單工廠是用就覺得一無是處,也不要覺得抽象工廠比較高大上就到處套。 工廠模式,實際上也會根據(jù)業(yè)務(wù)情景不同會有不同的實現(xiàn)方式。一般分為3種。簡單工廠,工廠模式和抽象工廠。顧名思義,這三種從簡單到抽象,名稱越來越高大上,實現(xiàn)方式肯定是越來越復(fù)雜 結(jié)論1:三種工廠的實現(xiàn)越來越復(fù)雜 簡單工廠 public class Factory { // 定義...

    CocoaChina 評論0 收藏0
  • 工廠模式(一)之抽象工廠模式

    摘要:主要詳解簡單工廠模式到抽象工廠模式的演變。抽象工廠模式當(dāng)一個類別的產(chǎn)品還有多個系列區(qū)分時,為了按系列生產(chǎn)商品,使用抽象工廠區(qū)分。 主要詳解簡單工廠模式到抽象工廠模式的演變。 簡單工廠模式 即靜態(tài)工廠模式1.將對象的創(chuàng)建和使用分開;2.將生產(chǎn)過程集中,便于集中管理;3.當(dāng)需要創(chuàng)建的對象類有變動時,就不用在所有new 的地方修改了,直接修改工廠類即可; /** * 簡單工廠模式 ---...

    woshicixide 評論0 收藏0
  • 工廠模式理解了沒有?

    摘要:我認(rèn)為按書上的順序比較好理解因為簡單靜態(tài)工廠模式是在工廠方法模式上縮減,抽象工廠模式是在工廠方法模式上再增強。所以我就先講工廠方法模式了。抽象工廠模式抽象工廠模式就比較復(fù)雜了,我們一般的應(yīng)用都寫不到。 前言 只有光頭才能變強 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 單例模式你會幾種寫法? 昨天寫了單例模式了,今天是時候?qū)懝S模式啦~ 工廠模式我個人認(rèn)為其實比...

    蘇丹 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<