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