課程
/后端開發(fā)
/PHP
/大話PHP設計模式
什么情況下我們才需要使用接口呢,接口的作用到底是什么呢
2020-05-10
源自:大話PHP設計模式 11-1
正在回答
說明你不懂面向?qū)ο蟮乃枷?。可以多看看這方面的課程哦。面向?qū)ο蟮暮诵乃枷氲降资鞘裁矗科鋵嵱么蟀自捳f就是【代碼復用】以及【行為約定】,少些代碼。舉個最簡單的例子,數(shù)據(jù)庫的3種操作,mysql,mysqli以及pdo,它們都可以操作數(shù)據(jù)庫,但是它們的操作方法又不一樣,這時候如果我想在我的網(wǎng)站系統(tǒng)里同時加入這3種數(shù)據(jù)庫操作并可以隨意選擇,而且使用它的人只需要知道一種統(tǒng)一的操作方法怎么辦?沒錯,這時候你就要用接口來開發(fā)了。首先你定義一個接口比如叫Db,Db里有3個方法connect,query,close,然后你寫3個類mysql,mysqli,pdo都實現(xiàn)這個接口的3個方法(可能數(shù)據(jù)庫的連接不叫connect方法,但是你實現(xiàn)連接的方法已經(jīng)封裝在connect里了)。這時候外面只需要用Db這個接口,他都只需要調(diào)用connect,query,close這三個方法就行,而不用管你mysql,mysqli,pdo里都有什么方法,這也就實現(xiàn)了3種數(shù)據(jù)庫隨意切換,但是你代碼不用改,因為你調(diào)用的只有connect,query,close這三個方法
https://learnku.com/docs/psr/psr-3-logger-interface/1607
我也不懂,但看了這個規(guī)范,突然對接口有了一個新的認識。
舉報
幫助PHPer具備使用設計模式解決工程中復雜邏輯的能力
1 回答什么情況下使用到這些數(shù)據(jù)結構的用法
1 回答為什么不直接用單例呢
1 回答接口類沒用上
1 回答PHP 的ArrayAccess接口,為什么會自動調(diào)用offsetGet等相關方法?
1 回答注冊模式為什么需要IMooc\Factory::createDatabase();一下呢?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2020-09-06
說明你不懂面向?qū)ο蟮乃枷?。可以多看看這方面的課程哦。面向?qū)ο蟮暮诵乃枷氲降资鞘裁矗科鋵嵱么蟀自捳f就是【代碼復用】以及【行為約定】,少些代碼。舉個最簡單的例子,數(shù)據(jù)庫的3種操作,mysql,mysqli以及pdo,它們都可以操作數(shù)據(jù)庫,但是它們的操作方法又不一樣,這時候如果我想在我的網(wǎng)站系統(tǒng)里同時加入這3種數(shù)據(jù)庫操作并可以隨意選擇,而且使用它的人只需要知道一種統(tǒng)一的操作方法怎么辦?沒錯,這時候你就要用接口來開發(fā)了。首先你定義一個接口比如叫Db,Db里有3個方法connect,query,close,然后你寫3個類mysql,mysqli,pdo都實現(xiàn)這個接口的3個方法(可能數(shù)據(jù)庫的連接不叫connect方法,但是你實現(xiàn)連接的方法已經(jīng)封裝在connect里了)。這時候外面只需要用Db這個接口,他都只需要調(diào)用connect,query,close這三個方法就行,而不用管你mysql,mysqli,pdo里都有什么方法,這也就實現(xiàn)了3種數(shù)據(jù)庫隨意切換,但是你代碼不用改,因為你調(diào)用的只有connect,query,close這三個方法
2020-05-21
https://learnku.com/docs/psr/psr-3-logger-interface/1607
我也不懂,但看了這個規(guī)范,突然對接口有了一個新的認識。