①、軟體設計的真正要做的許多內容,就是發現職責,並把那些職責相互分離(單一職責)
②、軟體實體(類、模組、函式等等)應該可以擴充套件,但是不可修改。(開閉原則)
③、針對介面程式設計,不要對實現程式設計。也就是針對抽象程式設計而不要針對細節程式設計(依賴倒轉)
④、在軟體裡面,把父類都替換成它的子類,程式行為沒有變化(黎克特制代換)
⑤、類之間的耦合越弱,越有利於復用,乙個處在弱耦合的類被修改,不會對有關係的類造成波及(迪公尺特)
ps:繼策略模式之後,書中用了大量的篇幅詮釋了這些概念性的東西,筆者挑重點羅列了一番
軟體設計原則
開閉原則 ocp 軟體設計的最大原則 這個原則說的是 對擴充套件開放,對修改關閉。其實意思是說,給系統新增新的功能,但不修改原有 如果能做到呢,關鍵在於抽象化,也就是封裝變化,抽象層不變,讓具體實現依賴抽象隨需求變化。使得系統具有很強的擴充套件性和可維護性。黎克特制代換原則 任何基類可以出現的地方,...
軟體設計原則
高內聚 低耦合 乙個軟體系統要有乙個穩定的架構,不會隨需求的改變而發生巨大的變動。因此,高內聚 低耦合是乙個軟體系統設計中必須遵循的基本原則 面向抽象程式設計 在面向過程的軟體開發中,上層元件呼叫下層元件,就意味著上層元件依賴於下層元件,當下層元件發生劇烈變化時,上層元件也要跟著一起發生變動,這將導...
軟體設計原則
軟體開發中有以下一些基本原則,深刻掌握這些原則比掌握一門技術要重要。1.開閉原則 open closed principle,ocp 乙個軟體應當對擴充套件開放,對修改關閉。也就是說我們在設計軟體時,應當可以在不必修改源 的情況下改變 擴充套件 其行為。開閉原則是非常重要的設計原則,其它的設計原則實...