分析php單例,工廠,觀察者

設(shè)計模式分為三大類型:
1.行為型,這些模式特別關(guān)注對象之間的交流性,比如觀察者模式
2.結(jié)構(gòu)型,這些模式關(guān)注類與對象的結(jié)合
3.創(chuàng)建型,這些模式提供了創(chuàng)建對象的時候同時隱藏創(chuàng)建邏輯的方式,比如工廠模式,單例模式
單例模式:
1.私有變量$_instance
2.私有防克隆
3.getInteance()方法必須是public,調(diào)用返回實例的引用
4.構(gòu)造函數(shù)必須私有private,防止外部new。失去單例的意義
5.使用單例生成一個對象之后,該對象可以被多個對象調(diào)用
6.使用場景:數(shù)據(jù)庫連接
工廠模式:
1.可以根據(jù)不同的參數(shù)生成不同的類實例,就符合工廠模式的設(shè)計思想
2.工廠模式最大的優(yōu)點就是創(chuàng)建對象,把創(chuàng)建對象的過程都封裝起來
3.創(chuàng)建對象不是使用new的形式了。而是定義一個方法,用于創(chuàng)建對象實例
4.應(yīng)用場景:做支付接口的時候,未來可能對應(yīng)不同的支付網(wǎng)關(guān):支付寶、財付通、網(wǎng)銀在線等。
5.詳解鏈接:https://www.cnblogs.com/yangjinjin/archive/2013/01/31/2887473.html
觀察者模式:
1.觀察者和被觀察者
2.被觀察者發(fā)生變動,通知觀察者變動并更新
3.實現(xiàn)了低耦合,非侵入式的通知與更新機(jī)制
4.適用場景:
     對一個對象狀態(tài)的更新,需要其他對象同步更新,而且其他對象的數(shù)量動態(tài)可變。 
     被觀察對象有變動的時候只需把變動告知需要變動的對象,而不需要知道其他對象的返回
面向?qū)ο螅?繼承,封裝,多態(tài)。 重用性,靈活性,拓展性。
面向?qū)ο笫沟贸绦蚋屿`活,提升開發(fā)效率,面向?qū)ο缶幊痰目芍赜眯?,可以在?yīng)用程序中大量采用成熟的類庫,從而縮短了開發(fā)時間。
應(yīng)用程序更易于維護(hù)、更新和升級。繼承和封裝使得應(yīng)用程序的修改帶來的影響更加局部化
類與對象就是模型與鑄件的關(guān)系,類實例化之后就變成了對象。
對一類對象的抽象就是類,類描述了一組具有相同屬性和行為的對象
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容