該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP
今天我們來談?wù)勥m配器模式。
想象一個場景:
有一個類方法它部署在服務(wù)器上,專門負責大多數(shù)語言都通用的JSON語言,而現(xiàn)在我需要調(diào)用這個類方法,但我不需要返回JSON格式的數(shù)據(jù)了,我要返回序列化后的數(shù)據(jù),我現(xiàn)在如何處理呢?是上去服務(wù)器修改這個類方法嗎?這不科學(xué)吧?因為我們原本編寫好的代碼最好就不要再改了,很容易造成風險的。(這也是也為了遵循開放封閉原則)。
如何處理呢?這時候就可以引入適配器模式。
具體看代碼:
適配器模式.php
show()); //輸出:a:3:{i:0;s:6:"風扇";i:1;s:3:"書";i:2;s:6:"臺燈";} ?>
適配器模式就是在原始數(shù)據(jù)上又包裝了一層,從而達到將原始數(shù)據(jù)轉(zhuǎn)成你所需要的格式。
仔細想想:
其實適配器模式和裝飾器模式有些相像,但是前者是改變數(shù)據(jù)結(jié)構(gòu)(等),后者是裝飾內(nèi)容(等).
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/21695.html
摘要:如果看不懂的話,可以在評論區(qū)中提問,我會第一時間回答你無論何時我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊撚檬裁醋藙莺托膽B(tài)學(xué)習設(shè)計模式: 如果你還沒有過多的編程經(jīng)驗(泛指半年以下),我建議你把它當做小說來看,能看懂多少是多少,因為半年以下經(jīng)驗的程序員用到設(shè)計模式的情況只會出現(xiàn)在面試上,至于實際工作中?相對來說這部分不會由你負責。 如果你已...
摘要:該文章屬于編程中的那些經(jīng)典套路設(shè)計模式匯總系列,并且以下內(nèi)容基于語言前面我們寫了簡單工廠模式,編程中的那些套路關(guān)于簡單工廠模式,但簡單工廠模式有一些不足違反開放封閉原則,所以需要設(shè)計出一套更加規(guī)范的設(shè)計模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 前面我們寫了簡單工廠模式,《編程中的那些套路——關(guān)于簡單工廠模式》,但簡單工廠模式有一些不足(...
摘要:簡單工廠模式就是遵循了這一原則,它讓不同職責的類各司其職。重點來了,簡單工廠模式的不足但是簡單工廠模式有一個不足,雖然它遵循了單一職責原則,但它違反了另一條同樣很重要的原則開放封閉原則。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 面向?qū)ο笪宕笤瓌t中有一點非常重要的原則:單一職責原則。 簡單工廠模式就是遵循了這一原則,它讓不同職責的類各司其職。 ...
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 今天來談?wù)勜熑捂溎J?,乍一聽責任鏈模式好像很高級的一樣,但是相信我,其實每位天朝的同學(xué)都十分熟悉這個模式,責任鏈模式,就好像中國的官場制度一樣,每一個級別的權(quán)利都區(qū)分的很細,舉個生活中的栗子: 村委不能越級去替鎮(zhèn)委辦事情,如果村委無法解決,只能向上求助鎮(zhèn)委 鎮(zhèn)委不能越級去替市委辦事情,如果鎮(zhèn)委無法解決,只能向上求...
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計模式匯總》系列,并且以下內(nèi)容基于語言PHP 在設(shè)計模式中,單例模式和工廠模式)可以說是使用的最普遍的設(shè)計模式了,所以掌握此種模式尤為重要。 單例模式一般使用在資源共享和需要控制資源的情況下。 例如:購物車,回收站,數(shù)據(jù)庫連接池,計數(shù)器,配置文件共享等所有項目中只需要存在一個的模塊,你都可以采用單例模式。 單例模式的好處就在于當前進程只產(chǎn)生一個對象(或者叫...
閱讀 1310·2021-11-22 13:54
閱讀 1496·2021-11-22 09:34
閱讀 2791·2021-11-22 09:34
閱讀 4184·2021-10-13 09:39
閱讀 3409·2019-08-26 11:52
閱讀 3419·2019-08-26 11:50
閱讀 1592·2019-08-26 10:56
閱讀 2002·2019-08-26 10:44