亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

編程中的那些套路——關(guān)于簡單工廠模式

Rocture / 2133人閱讀

摘要:簡單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類各司其職。重點來了,簡單工廠模式的不足但是簡單工廠模式有一個不足,雖然它遵循了單一職責(zé)原則,但它違反了另一條同樣很重要的原則開放封閉原則。

該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP

面向?qū)ο笪宕笤瓌t中有一點非常重要的原則:單一職責(zé)原則。

簡單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類各司其職。

簡單工廠模式是面向?qū)ο蠖鄳B(tài)性的一個應(yīng)用,它的好處在于:

代碼具有一定的拓展性

遵循了單一職責(zé)原則

屬于面向接口編程

簡單工廠模式提供了一個對外的類 Client和實際工作的類,外界只需要傳遞特定的參數(shù)就可以調(diào)用不同的實際功能類,而不需要直接面對實際類與函數(shù),拓展性大大增強。

一言不合上代碼。

簡單工廠模式.php

work();
 
    }
 
}
 
$bankstaff = new Client();
 
print_r($bankstaff->working("接待")); // output :開始接待
 
?>

簡單工廠模式可以通過傳遞對應(yīng)的參數(shù)從而調(diào)用指定的類方法,后期需要增加職位的話,可以直接新增一個類然后寫一個switch ($type) {case’condition’: }即可。

重點來了,簡單工廠模式的不足:

但是簡單工廠模式有一個不足,雖然它遵循了單一職責(zé)原則,但它違反了另一條同樣很重要的原則:開放封閉原則。

如果新增一個財務(wù)職位,那么我們還要修改 Client類,增加一個switch ($type) {case’condition’: }判斷,這無疑是十分災(zāi)難的,因為寫好的代碼我們最好不要再去碰它,因為很可能造成未知的原因,你說是不?

由此衍生出更加規(guī)范,拓展性更強,遵循了開放封閉原則的的工廠模式(沒有簡單):

該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列

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

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

相關(guān)文章

  • 編程中的那些套路——關(guān)于工廠模式

    摘要:該文章屬于編程中的那些經(jīng)典套路設(shè)計模式匯總系列,并且以下內(nèi)容基于語言前面我們寫了簡單工廠模式,編程中的那些套路關(guān)于簡單工廠模式,但簡單工廠模式有一些不足違反開放封閉原則,所以需要設(shè)計出一套更加規(guī)范的設(shè)計模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 前面我們寫了簡單工廠模式,《編程中的那些套路——關(guān)于簡單工廠模式》,但簡單工廠模式有一些不足(...

    light 評論0 收藏0
  • 編程中的那些套路——關(guān)于策略模式

    該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 今天講講策略模式,策略模式 和工廠模式十分相像(或者說在代碼邏輯層面,他們是一樣的)。 但策略模式與工廠模式有一點很重要的區(qū)別: 工廠模式:我們著眼于得到對象,并操作對象, 策略模式:我們著重得到對象某方法的運行結(jié)果 看代碼 根據(jù)不同的情況使用不同的策略,即策略模式,與工廠模式確實很像,但他確確實實不是...

    tabalt 評論0 收藏0
  • 編程中的那些經(jīng)典套路——設(shè)計模式匯總

    摘要:如果看不懂的話,可以在評論區(qū)中提問,我會第一時間回答你無論何時我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊撚檬裁醋藙莺托膽B(tài)學(xué)習(xí)設(shè)計模式: 如果你還沒有過多的編程經(jīng)驗(泛指半年以下),我建議你把它當(dāng)做小說來看,能看懂多少是多少,因為半年以下經(jīng)驗的程序員用到設(shè)計模式的情況只會出現(xiàn)在面試上,至于實際工作中?相對來說這部分不會由你負責(zé)。 如果你已...

    youkede 評論0 收藏0
  • 編程中的那些套路——關(guān)于單例模式

    該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 在設(shè)計模式中,單例模式和工廠模式)可以說是使用的最普遍的設(shè)計模式了,所以掌握此種模式尤為重要。 單例模式一般使用在資源共享和需要控制資源的情況下。 例如:購物車,回收站,數(shù)據(jù)庫連接池,計數(shù)器,配置文件共享等所有項目中只需要存在一個的模塊,你都可以采用單例模式。 單例模式的好處就在于當(dāng)前進程只產(chǎn)生一個對象(或者叫...

    sshe 評論0 收藏0
  • 編程中的那些套路——關(guān)于觀察者模式

    摘要:我們應(yīng)該寫一段拓展性強與維護性較強的代碼,由此衍生出觀察者模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 今天我們來談?wù)動^察者模式,這是一個經(jīng)常用到的設(shè)計模式。 讓我們想象一個場景:一個網(wǎng)站有不同等級區(qū)域的用戶,不同等級的的用戶登錄后可以獲得對應(yīng)的服務(wù)(一級用戶登錄后獲得一級服務(wù),二級用戶登錄后獲得二級服務(wù),…以此類推)。那么我們?nèi)绾螌戇@段業(yè)...

    Fourierr 評論0 收藏0

發(fā)表評論

0條評論

Rocture

|高級講師

TA的文章

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