1. 程式人生 > >設計模式與面向對象編程原則

設計模式與面向對象編程原則

new bsp context 理論 編程 項目 策略模式 可擴展性 錯誤

面相對象6大原則

1 單一職責
只有一個原因引起類的變化
接口盡量單一 實現類單一可能累的數量增多 反而不易維護 增加耦合

2 裏式替換 LSP
能用父類的的地方就能用子類,不引起任何錯誤
即子類需要重寫所有的父類方法
增加子類 不影響原來的運行 參數是父類類型

3 依賴倒置原則
依賴接口 不依賴類 降低與具體實現的耦合
4 接口隔離
接口盡量細化 即方法少
5 迪米特
類盡量少調用其他的類
6 開閉
對擴展開放 對修改關閉
即改動項目盡量不要改代碼 而是加代碼
這個是根本原則,其他5個可以說是具體的實現或策略

設計模式
1,策略模式
策略接口a 實現類 a1a2a3 放策略的類Context 參數接收類型為a

具體的使用者直接傳實現類型即可(new Context(new a1())) 增加a4a5只需要修改Context即可

2,工廠模式
和這個很像,工廠生產對象,講class c傳遞過去 利用反射生成對象並返回。

3,代理模式
講實際類型對象傳遞過來 表面是代理類型做事 實際是實際類型對象在執行代碼

總之,編程要面向接口,增加程序的可擴展性(就是方便改同時不影響已有的功能),高內聚低耦合這些軟件工程的理論知識

設計模式與面向對象編程原則