軟件架構設計原則
開閉原則-OCP:對擴展開放,對修改關閉
依賴倒置原則-Dependence Inversion Principle,DIP:高層模塊和底層模塊都應該依賴其抽象??
單一職責原則-Simple Responsibility Principle,SRP:一個類、接口、方法只做一件事,解耦.
接口隔離原則-Interface Segregation Principle,ISP:類似上面,以滿足高內聚低耦合.
迪米特原則-Law of D額meter,LoD:一個對象應該對其他對象保持最少的瞭解.
里氏替換原則-Liskov Substitution Principle,LSP:用於確認子父類.
1).子類可以實現父類的抽象方法,但不能覆蓋父類的非抽象方法.
2).當子類重載父類方法時,入參要比父類方法的入參更寬鬆.實現父類方法時出參要比父類更嚴格或一樣.
合成複用原則-Composite/Aggregate Reuse Principle,CARP:通過對象組合而不是繼承來複用代碼.
在設計接口的時候要考慮業務模型,對以後可能發生變更的地方要做一些預判.
Spring中常用的設計模式
工廠模式
Factory Method Pattern: