1.開閉原則(Open-Closed Principle,OCP):類、函數、模塊----對拓展開放 ?對修改關閉,面向對象及軟件編碼中最基本的原則,其思想體現在日常軟件系統開發與維護的方方面面。
?
2.依賴倒置(Dependence Inversion Principle,DIP):構造器注入,setter注入,高層不應該依賴底層模塊,抽象不應該依賴具體。面向接口編程,比面向細節實現的系統會更穩定。
?
3.單一職責原則(Simple Responsibility Pinciple,SRP):一個Class/Interface/Method 只負責一項職責。---實際開發中很多都不符合,但是自己設計時要有這樣的思想在里面。
?
4.接口隔離原則(Interface Segregation Principle, ISP):接口中方法盡量少,接口層面多做拆分,實現類按需實現相應的接口,盡量避免實現類里面有大量空實現體的情況。
?
5.迪米特法則(Law of Demeter LoD):強調只和朋友交流,不和陌生人說話,最少知道原則--訪問控制符,類之間能避免發生關系就盡量避免。
?
6.里氏替換原則(Liskov Substitution Principle,LSP):子承父類類中出現,約束繼承泛濫,1.不能覆蓋 2.重載時入參更寬松 ?3.重寫/重載時出參更嚴格。
?
7.合成復用原則(Composite/Aggregate Reuse Principle,CARP):繼承我們叫做白箱復用--暴露了實現細節給子類、組合/聚合也稱之為黑箱復用--實現細節保密。--多用引用少用繼承。
?
溫馨提示:
我們【最】希望的是在這些原則的指導下結合【實際的業務】設計出【恰到好處的方案】,不要迂腐的為了原則而原則,那將失去意義。
?
不同的目的對于即將學習的深度要求不一樣、對于學習完之后期望和要求的產出也不一樣,以下是常見的兩種目的。
一.學完一項技術是為了自己要寫一個一樣的框架|組件出來。
具體要求:
學習中主要考慮的幾個點:
二.還是在開發中遇到某個場景需要使用這一項技術去進行實際的解決。
具體要求:
學習中主要考慮的幾個點:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态