架构之美阅读笔记一
? ? ? 假期里為了初步了解下學期要進行學習的架構知識,所以開始對《架構之美》這本書進行閱讀學習。
? ? ? 精讀了《架構之美》的前兩章,對與軟件工程的學生來說,設計軟件是非常重要的,初步閱讀了這本書的前面部分后能夠明白什么是架構,讀完之后能需要明白什么樣的架構應用到軟件上更加合理,應該怎樣來構建合適的架構來適應所要開發的軟件,這就是閱讀這本書最終的目的。
? ? ? 第一章架構概述首先介紹架構,架構是系統設計的一部分,它突出了某些細節,并通過抽象省略掉了另一些細節。軟件系統的架構包括行為上的和結構上的。外部行為描述展示了軟件如何與用戶、其他設備和外部設備進行交互,也就是需求。結構描述展示了軟件如何被劃分為多個部分,以及這些部分的關系。我們在其中扮演的是架構師的角色,所要做的就是能夠構建出所需的框架。所謂架構就不是在糾結于系統功能的層面了,而是在這一個環節之前所要做的工作,它將關系到整個系統的穩定性和延續性,就像建筑的框架,有了好的結實的框架功能這些“家具”才能安安穩穩的搬進去,這是我的理解。
? ? ? 第二章現代軟件神話通過兩個例子來進行架構的說明。混亂大都市:它的特點是:1、沒有統一的概念將不同的部分組織起來;2、代碼各式各樣,風格不一,難以適配;3、額外的數據緩存;4、整個系統沒有文檔記載,難以維護和擴展。造成這樣的結果的原因:1、首先不清楚需求,不知道要做什么;2、系統架構設計不合理;3、代碼風格各異難以適配;4、開發周期長,系統測試困難。設計之城(成功的設計往往是一個持續的過程):它的特點:1、初期確定功能領域,確定架構;2、系統設計采用分層結構,可隨時進行添加擴展。相較而言,一個好的架構1、軟件清晰的定義,分層的設計,功能劃分明確,各部分的依賴關系,數據通信方式確定。2、代碼結構清晰,功能模塊劃分后,對于底層和組件的關系進一步分析,將結構進行分層設計。3、外部接口與內部實現盡量分離。所有外部接口部分的聲明都單獨放在一個文件中,而內部結構的聲明與實現放在其他文件中。4、統一的框架和一些代碼生成工具。保證了內部統一的風格,編碼慣例。但是這些框架和工具也增加了入門的難度。5、保證單元測試,并且有一個完整的simulator,離線模擬器,replay模塊,保證了測試的及時性。6、版本控制工具。其他比較大型的項目的通病: 編寫比較復雜的結構,并使用一些自制工具,這使得入門比較難。知其然不知其所以然。
轉載于:https://www.cnblogs.com/lk0823/p/6398994.html
總結
- 上一篇: mysql tinyint和char(1
- 下一篇: mysql优化概述4