OOP概論
#SOLID
1、單一職責原則(Single Responsibility Principle):類的功能盡量單一
2、接口隔離原則(Interface Segregation Principle):接口功能盡量單一
3、開閉原則(Open Close Principle):對擴展開放,對修改關(guān)閉
4、依賴倒置原則(Dependence Inversion Principle):面向接口編程,依賴抽象,不依賴實現(xiàn)
5、里氏替換原則(Liskov Substitution Principle):子類可以擴展父類的功能,但不能改變父類原有的功能。非必要不要重寫父類方法,實現(xiàn)多態(tài)可采用抽象父類或接口
6、迪米特法則(Law Of Demeter): 聚合內(nèi)高內(nèi)聚,聚合外低耦合,如電機的結(jié)構(gòu),聚合之間使用聚合根通信
7、合成復用原則(Composite Reuse Principle):少用繼承,多用關(guān)聯(lián)
#類之間的關(guān)系
1、繼承關(guān)系(泛化關(guān)系):耦合性最大
2、實現(xiàn)關(guān)系:接口和實現(xiàn)類之間的關(guān)系
3、一般關(guān)聯(lián)關(guān)系:類之間的引用關(guān)系(又分為單向關(guān)聯(lián)、雙向關(guān)聯(lián)、自關(guān)聯(lián))
4、聚合關(guān)系:整體與部分的關(guān)系,整體不存在,部分不受影響
5、組合關(guān)系:整體與部分的關(guān)系,整體控制部分生命周期
6、依賴關(guān)系:是一種使用關(guān)系
關(guān)聯(lián)關(guān)系分為:一般關(guān)聯(lián)關(guān)系、聚合關(guān)系、組合關(guān)系

#設(shè)計模式
@@@@@@@@@@創(chuàng)造型模式(用于產(chǎn)品類的創(chuàng)建)
1、單例模式:程序中唯一實例,構(gòu)造函數(shù)私有
2、工廠方法模式 :把工廠抽象出來,將產(chǎn)品類抽象出接口,每個產(chǎn)品類實現(xiàn)一個工廠類,使用類依賴工廠抽象,不依賴工廠實現(xiàn),工廠生產(chǎn)的時產(chǎn)品類接口,而不是具體的產(chǎn)品類
缺點:如果產(chǎn)品類多,每種產(chǎn)品都需要單獨的工廠,麻煩
3、抽象工廠模式:抽象工廠可以創(chuàng)建多種產(chǎn)品,不同工廠實現(xiàn)類區(qū)實現(xiàn),缺點:
需要添加產(chǎn)品時,抽象工廠就得修改,所有工廠實現(xiàn)類也要修改
4、原型模式: 通過clone創(chuàng)建新對象
5、建造者模式:構(gòu)造部件,然后裝配成一個復雜對象
角色:
抽象建造者類:部件構(gòu)建抽象類
建造者實現(xiàn)類:部件創(chuàng)建實現(xiàn)類
復雜產(chǎn)品類:最終對象
指揮者類:負責裝配
@@@@@@@@@@結(jié)構(gòu)型模式 ( )
6、代理模式:引用類無法直接被訪問,使用代理類間接訪問,降低訪問者和目標對象耦合度
角色:
目標抽象類,最終引用對象規(guī)范
目標實現(xiàn)類,最終引用對象
代理類,內(nèi)部引用目標類,可以擴展、增強被目標類,提供與真實主題相同的接口
7、適配器模式:充當中間件,適配標準接口下不同實現(xiàn)類
角色
目標接口:業(yè)務接口,規(guī)范對接的不同實現(xiàn)類的標準
適配者接口:適配器輸出端接口規(guī)范
適配器實現(xiàn)類
8、裝飾者模式,不改變產(chǎn)品類的情況下,給產(chǎn)品類增加新功能(套娃模式)
9、橋接模式,多維度擴展時使用,(場景:多種操作系統(tǒng)播放多種格式視頻文件)
10、外觀模式(門面模式),提供對外統(tǒng)一訪問接口,簡化外部調(diào)用,迪米特法則應用
11、享元模式,運用共享技術(shù)對大量對象進行復用,應用線程池
12、組合模式,把對象組組合成樹形結(jié)構(gòu)的單一對象
@@@@@@@@@@行為型模式 (產(chǎn)品類需要改變行為)
13、策略模式,對對象的各種行為進行封裝,使行為實現(xiàn)和使用分離,達到解耦目的
14、責任鏈模式,使產(chǎn)品類形成一條鏈,層層處理
15、模板方法模式,把多個有序步驟封裝成固定模板方法進行外部調(diào)用
16、命令模式,將命令封裝成對象,使命令發(fā)出者和執(zhí)行者分離
17、狀態(tài)模式,對產(chǎn)品類的各種行為及狀態(tài)進行封裝,并使行為實現(xiàn)和使用分離
18、觀察者模式,發(fā)布訂閱
19、中介者模式(調(diào)解者):類/系統(tǒng)之間關(guān)系復雜時,加入中介者對象,使類/系統(tǒng)與中介者進行交互來解耦,消息隊列/ESB
20、訪問者模式,將產(chǎn)品類的數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)操作分離,產(chǎn)品類的執(zhí)行算法可以隨著訪問者的改變而改變
21、解釋器模式:對語法進行解釋和分析,計算器
22、迭代器模式:按照順序遍歷訪問聚合對象中的數(shù)據(jù)
23、備忘錄模式:記錄快照,進行撤銷
版權(quán)聲明
作者:扶我起來我還要敲
地址:http://www.rzrgm.cn/Newd/p/17221269.html
? Newd 尊重知識產(chǎn)權(quán),引用請注出處
廣告位
(虛位以待,如有需要請私信)
浙公網(wǎng)安備 33010602011771號