在大部分情況下,在識別出是誰的問題之後,大多數問題都會迎刃而解,單還是有極少的問題需要有動作的做出調整,調整就是架構的切分
切分是什麼?
切分就是利益的調整,維護自己的利益是每個人的本性,我們不能逃避這一點。社會的分工背後的動力就是每個人的利益,每個人都希望能把自己的利益最大化,但是每個人的能力不一樣,所以要取長補短,人們對自己利益的渴望也是推動社會物質發展的原動力。當然在這個模式下,每個人都要捨棄和利益交換,如果特立獨行必然會造成優勝劣汰的結果,模擬於社會,想要立足,就要為社會提出更好的服務,才能從社會中獲得服務
為什麼要切分
乙個系統中每個人的的能力和作用都不會一樣,那麼單純的平均主義就會顯得十分不合理,切分就是讓每個人的權利和義務都相當,達到一種相對合理的狀態,
怎樣切分?
要把乙個系統切分需要遵循幾個原則:一段必須在連續時間內的做成的工作不能切分,切分出來的部分的負責人對這個部分的權利和義務必須是對等的,切分出來的部分不應該超出乙個自然人的負載,切分是內部活動,內部無任怎麼切,對整個系統的外部應該是透明的,從原則中我們可以知道,所有的架構分拆都應該是形成樹狀的結構,然後可以根據樹來實現架構分層,
切分的過程?
切分的過程就是建模的過程,將問題分解成小問題,隨之產生的概念需要架構師來理解,識別概念背後所代表的的人的利益。比如人類社會按照家庭進行延續,形成了家族,由於共享一片土地資源,慢慢形成了村莊,村莊聯合體,不同地域結合,形成了國家。由於利益分配的原因,形成了政權。每次政權的更迭,都是利益重新分配的動力所決定的。
架構的切分的導火索是人的權利義務不均衡。架構切分的結果一定是乙個樹狀,盡可能變成一顆平衡樹,才能讓整個系統的效率最大化。
參看:架構漫談
架構之美閱讀筆記五
第四部分終端使用者應用架構第十一章將一組簡單的元件和一門語言結合成為乙個作業系統,是日後作為一名程式設計師必不可少的技術,第十二章講了乙個簡單的架構如何經過衝刺 評審等過程最終成為乙個完整健全的系統。第十一章gnu emacs 滋長的特性是其優勢。首先了解emacs,這是乙個類似於文字編輯器的東西,...
演進式架構學習筆記(五) 實踐演進式架構
第8章實踐演進式架構 一 組織 全功能團隊。敏捷軟體開發中的最佳實踐之一。這裡主要需要關注運維角色。圍繞業務能力來組織團隊。產品高於專案。產品生命週期長於專案。增加團隊成員責任感的最佳方式,就是負責到底。應對外部變化。乙個有效的方法是,採用消費者驅動契約的模式。這個模式和solid中的依賴倒置很類似...
React學習筆記(五) Redux應用架構
核心運作流程如下 使用單一資料來源的好處在於整個應用狀態都儲存在乙個物件中,這樣可以隨時提取出整個應用的狀態進行持久化。此外,這樣的設計也為服務端渲染提供可能。在redux中,並不會用 來定義乙個store。而是定義乙個reducer,它的功能時根據當前觸發的action與當前應用的狀態進行迭代,這...