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