小公司最簡單組織架構圖,架構設計原則

 2023-10-21 阅读 23 评论 0

摘要:23種軟件設計模式完整教程 設計原則 1.開閉原則(Open-Closed Principle,OCP):類、函數、模塊----對拓展開放 ?對修改關閉,面向對象及軟件編碼中最基本的原則,其思想體現在日常軟件系統開發與維護的方方面面。 ? 2.依賴倒置(Depende

23種軟件設計模式完整教程

設計原則

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):繼承我們叫做白箱復用--暴露了實現細節給子類、組合/聚合也稱之為黑箱復用--實現細節保密。--多用引用少用繼承。

?

溫馨提示:
我們【最】希望的是在這些原則的指導下結合【實際的業務】設計出【恰到好處的方案】,不要迂腐的為了原則而原則,那將失去意義。

?

軟件設計模式--學習方法分享

為什么學這項技術?

不同的目的對于即將學習的深度要求不一樣、對于學習完之后期望和要求的產出也不一樣,以下是常見的兩種目的。

一.學完一項技術是為了自己要寫一個一樣的框架|組件出來。
具體要求:

  1. ? ? 精通技術的實現細節
  2. ? ? 能夠在其基礎之上進行重構
  3. ? ? 實現出一個性能更優、功能更強大、更易于維護便于定位問題的商用框架
  4. ? ? 框架如何對外推廣

學習中主要考慮的幾個點:

  1. ? ? 框架架構師的學習范疇
  2. ? ? 框架本身現有實現方式的優點及缺點
  3. ? ? 如果讓你來實現這個框架你將如何改進已有缺點
  4. ? ? 改進之后性能上或則功能上將有哪些突破
  5. ? ? 改進之后可能會存在哪些問題


二.還是在開發中遇到某個場景需要使用這一項技術去進行實際的解決。
具體要求:

  1. ? ? 精通其使用特點與使用場景
  2. ? ? 熟悉其使用時的一些已知問題并且在設計上要有規避的方案
  3. ? ? 對原理有一定理解,能夠借鑒思想更好

學習中主要考慮的幾個點:

  1. ? ? 業務架構師的學習范疇
  2. ? ? 為什么要選擇這項技術
  3. ? ? 這項技術使用上公認的一些問題有哪些、如何在自己的設計上最大程度的規避這些問題;公認的優秀的設計又有哪些、如何將這些優秀的方案為自己所用
  4. ? ? 這項技術的引入對我們實際問題解決上的效果怎么樣
  5. ? ? 是否還有比這項技術更好的技術能夠更加貼切的去解決我們實際遇到的問題

怎么學?

  1. 哪些途徑:書、已有代碼、ppt、網站資料、專業視頻課程
  2. 效率:代碼>專業視頻課程>ppt>網站資料>書

學習成果如何檢驗?

  1. 實際問題是否得到了解決
  2. 解決方案的積累
  3. 代碼的積累---編碼更高效

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/158828.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息