mmn(macro-micro-nano,即巨集觀-微觀-奈米)實用架構過程初步體現了我的架構觀:即以實用主義態度把握架構原則與本質思想,從系統的各個層次剖析架構,提供乙個具有指導意義和實施價值的架構過程,採取簡略、敏捷而又全面的方式,對軟體系統進行架構與設計。架構的步驟必須是清晰可見,每一步都有明確的目標與實際的指導意義。mmn實用架構過程既有大局觀的思考與基本原則指導,又要著眼於細處,突出強調巨集觀、微觀與奈米粒度在架構檢視中的合力,既關注巨集觀的體系架構,又重視層、模組、元件之間的協作方式與公開的介面,同時還極度重視編碼質量,並將這種細節的編碼風格與重構模式納入到架構體系中來。
對於mmn架構而言,因其關注的粒度和視角的區別,存在自上而下的層次模型,如下圖所示:
每個層次的關注點是不相同的。
奈米架構可以說是**級的架構,體現在**的清晰度、健壯性以及可讀性。奈米架構極為重視方法與類的粒度,以及類與類之間的協作。奈米架構與編碼風格有關,重視**結構的改善與重構。奈米架構需要考慮物件職責的分配與協作,尋找功能的變化點,準確地運用設計模式和物件導向設計思想。在奈米架構中,還需要考慮配置管理與持續整合的方式。
mmn架構不僅僅是自上而下的過程,不同的檢視之間還存在交集。這些交集主要體現在原則、模式和方法學之間的交叉,如下圖所示:
無論架構處於哪個層面下,均存在統一的原則需要遵循,例如srp、dry以及關注點分離原則。這些原則既體現了一種整體的核心思想,同時又適合各種粒度(層級、模組級、元件級、物件級)的設計。模式同樣如此。例如架構模式中,分層模式、管道-過濾器模式、微核模式等都是在巨集觀層面上提出了成熟的解決方案,但架構模式中的mvc模式、**模式、pac模式等,又都可以運用在層或者模組內,指導物件之間的協作、職責的分離與抽象。對於方法學而言,我們既可以運用ea的方法學,例如zachman框架,也可以運用ddd(領域驅動設計)或者tdd(測試驅動開發),以及iconix。甚至於採用crc卡來幫助我們明確元件或物件之間的職責協作。
實用架構過程以巨集觀、微觀與奈米架構作為關注的視點,指導架構師完成軟體系統架構的構建,形成統一而又層次分明的過程體系。實用架構過程包括定義架構概圖、架構全域性分析、構建概念模型、建立物理檢視與邏輯檢視,以及**檢視與設計模型。 以下是整個架構過程的概要流程圖:
MMN實用架構過程概覽
mmn macro micro nano,即巨集觀 微觀 奈米 實用架構過程初步體現了我的架構觀 即以實用主義態度把握架構原則與本質思想,從系統的各個層次剖析架構,提供乙個具有指導意義和實施價值的架構過程,採取簡略 敏捷而又全面的方式,對軟體系統進行架構與設計。架構的步驟必須是清晰可見,每一步都有明...
MMN實用架構過程概覽
mmn macro micro nano,即巨集觀 微觀 奈米 實用架構過程初步體現了我的架構觀 即以實用主義態度把握架構原則與本質思想,從系統的各個層次剖析架構,提供乙個具有指導意義和實施價值的架構過程,採取簡略 敏捷而又全面的方式,對軟體系統進行架構與設計。架構的步驟必須是清晰可見,每一步都有明...
OpenCart 架構概覽
opencart是乙個 設計精緻小巧的電子商務系統。written by iefreer founder of techbrood.com 1 mvc架構 opencart是基於mvc正規化的。model層負責獲取資料。和其他一些框架如cakephp相比,model的功能實現有限但簡潔,直接呼叫db...