軟體設計的目標是建立適合人類思維的片塊 - KentBeck
軟體設計的目標是建立適合人類思維的塊或切片。軟體一直在增長,但人類的思維會達到極限,因此,如果要繼續進行軟體更改,我們必須切割成的塊和切片。
這意味著軟體設計是人為人提供技術支援的過程。軟體設計是人類關係中的一項練習。
眾說紛紜:
認知負擔很重要!從最小的功能程式碼塊到軟體體系結構中的最大元件,這都很重要。
我們的大腦處理複雜性的能力不僅僅只是分塊!我們的大腦喜歡層次結構+模式。在我們的設計中,我們可以通過分層和具有各種模式的圖式來支援層次結構。
在功能級別上進行切片和分塊,然後在上下文級別上進行抽象,以使不同的涉眾可以理解。
以我的經驗,僅僅為了切片而切片是不好的。例如,我從沒有看到從Monolith遷移到微服務的複雜性降低的情況,在大多數情況下,管理所有這些服務之間的整合比實際的Monolith困難得多。
(banq注:這種複雜性是用Monolith單體的標準來衡量的,比如原來一個團隊負責一個單體,好像很輕鬆,不復雜,到了微服務以後,一個團隊負責50個微服務,感覺複雜性增加,其實這沒有意識到人的大腦的參與過程,一個人的大腦只能負責一到幾個微服務,否則就會超過一個人的認知負擔,因此,五十個微服務可能需要幾個團隊單獨負責,從人員上看數量是增加了,但是在單體架構時期,你以為一個團隊的幾個腦袋負責一個單體就沒有認知負擔嗎?單體內部耦合在一起如同泥球,當然模組化分塊以後的單體是否只需要一個團隊的幾個腦袋就可以呢?其實模組化的單體與微服務的區別在於:微服務可以獨立開發快速測試部署,不必與其他模組組裝後再發布部署,因此,單體模組化架構只是一種過渡階段,讓你從一個團隊擴張到十個團隊很難,但是從一個團隊到三、五個團隊,再到十個團隊就感覺踏實了。)
相關文章
- 軟體設計的目標是建立適合人類思維的切片分塊 - KentBeck
- 你是整體思維還是分析思維? - kentbeck
- 最適合程式設計師的筆記軟體程式設計師筆記
- 有麼有適合職場辦公人士用的思維導圖軟體?
- 思維導圖是什麼軟體畫的
- 計算機程式的思維邏輯 (14) – 類的組合計算機
- [譯] 產品管理思維模式適合每一個人模式
- 到底哪些人適合學Python?適合學Python的5類人Python
- 軟體構造的多維度檢視&質量目標
- Facebook產品設計人談什麼是產品思維?
- 好用的思維導圖軟體,安卓思維導圖軟體哪個好安卓
- 軟體測試人員必備的7種思維方式
- 哪種人是軟體設計中的稀缺型人才?
- 人的意識思維是連續的嗎?
- 思維體系---技術思維、業務資料思維、產品思維、複合思維
- 如何建立架構師的立體化思維?架構
- SOLIDWORKS軟體不僅僅是三維機械設計軟體Solid
- 十億人都在用的健康碼,運維體系是怎麼設計的?運維
- 電商必知,淘寶商品和類目體系是如何設計的
- 什麼是窮人思維?
- 哪些人適合學習軟體測試
- 哪些人適合學軟體測試呢
- 思維導圖軟體
- 使用思維導圖工具MindManager幫助實現目標設定
- Xmind 2021全新的思維導圖軟體
- 全網最適合入門的物件導向程式設計教程:02 類和物件的Python實現-使用Python建立類物件程式設計Python
- 組合計數思維題
- ImageJ軟體使用教程(三):目標計數
- 每個人設計人員都需要的圖片無損放大軟體Topaz Gigapixel AIAPIAI
- 最適合學Python的幾類人,有你嗎?Python
- 對軟體工程課程希望與個人目標軟體工程
- 讀軟體設計的要素03概念的組合
- 建立適合自己的骨架包
- 程式設計師思維程式設計師
- 黑客和程式設計師有什麼區別?程式設計師目標是成神,黑客目標是弒神!黑客程式設計師
- 遊戲基礎互動:【建立目標】和【落地設計】遊戲
- ERP軟體排名、如何選擇適合自己企業的軟體?
- 哪些人適合參加軟體測試培訓?