极客时间_软件设计之美 笔记
生活随笔
收集整理的這篇文章主要介紹了
极客时间_软件设计之美 笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
極客時間_軟件設計之美 筆記
1.軟件設計是什么
寫代碼前應該有模型設計
- 比如mvc結構就是一種模型
代碼應該有規范,
- 產品內部原則 避免每個開發按自己的想法實現,有人寫rest 有人寫mvc
- 代碼模塊原則 某段代碼應該放在哪里,比如工具類放到ibase里的哪個模塊的哪個包
- 軟件設計原則 比如 需要 防腐層 外部接收的json需要轉換成內部對象,json解析器直接解析出來的對象有可能有大量附加信息占用內存。
低耦合高內聚
2.分離關注點
- 分的要足夠細,不要把問題混淆
- 分解問題時候不是一個維度,業務維度、性能、異常情況等等。每一個維度是一個關注點
- 動靜分離
- 讀寫分離
- 高頻低頻分離
- 業務處理和技術實現是兩個關注點,不是所有問題都是技術問題,分層封裝。
分離的關注點越多越好粒度越小越好。
CQRS
3. 可測試性
- 可測試性
- 可維護性
- 可擴展性
- ···
- 不保證鋼筋水泥的質量如何保證蓋出來的大廈的質量。
- 保證軟件質量就要保證模塊的質量就要保證每個類每個方法的質量
- 有的類不好測試,說明設計時沒有考慮可測試性
- 有些設計模式就沒有考慮可測試性,如單例模式。
4. 了解設計
- 先設計模型,這時候不應該含技術細節
- 再根據模型設計接口,這時候不應該包含內部實現,特別對于使用三方工具最好進行包裝,便于后續升級改造。
- 最后設計實現
- 一個類的數據結構 就是模型
- 一個類的方法有哪些能力 就是接口
- 方法怎么寫用什么技術用什么算法 就是實現
總結
以上是生活随笔為你收集整理的极客时间_软件设计之美 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 驱动修复完成,计算机需要重启,如何在wi
- 下一篇: java爬虫抓取极客时间专栏页面