Part-1大綱:從架構到代碼的過程
一 敏捷與架構的完美組合
1、敏捷開發的原則和價值觀
2、開發、架構、測試之關系
3、架構在敏捷過程裡的角色
4、架構師在敏捷過程的職責
5、過程觀點:(需求)測試做<反饋>,敏捷(過程)做<迭代>;
6、分合觀點:(架構)設計做<分>,(代碼)開發做<合>
7、測試觸發反饋,反饋帶動迭代,迭代驅動<架構代碼>重構
8、迭代促進了<架構師&開發者>的心靈溝通與攜手協作
9、舉例:架構師如何設計敏捷的起始架構(Simple Solution)
加法設計:圍繞問題( Problem)和願景(Vision),
產生創意構想(Creative Idea)
減法設計:創意愛上限制(Creativity loves constraint)
二 代碼是架構的外貌,永遠青春
1、架構師與開發者的合作成果:架構+代碼=軟件(系統)
2、架構是軟件的骨架、代碼是軟件的外貌
3、架構是軟件的核心
4、架構的用意:創新組<合>
5、架構設計的焦點:接口(Interface)
6、設計決策具有<未來性>,系統才能適應未來
三 設計與開發的分工合作
1、架構設計的目的是:組合
2、架構師做<分>,支持開發者做<合>,合作實踐(系統)組合
3、分得妙,就能合得快(即:分之以為用,合之以為利)
4、分得妙,就能得好接口(Interface)
5、架構師的核心工作:接口設計(Interface Design)
6、開發者的核心工作:依據接口,開發(系統)模塊並整合
7、有許多種開發者:如App開發者、底層系統開發者等
四 敏捷思維:盡快呈現架構的外貌
1、接口設計是<物>的組合設計
2、接口設計是<事>的分工設計
3、架構師設計多種接口來支撐分工與組合
4、架構師心中的4種接口:SI、PI、API和UI
SI:本架構與外部系統之間的整合接口
PI:本架構與內部挿件(Plug-in)之間的接口
API:本架構與應用程序(App)之間的接口
UI:App與用戶的互動接口
5、依循敏捷原則,接口迅速落實為代碼,盡快呈現外貌
五 EIT造形:接口美麗的外貌
1、認識EIT軟件造形
2、EIT造形:呈現核心設計的外貌
3、EIT造形的<I>可涵蓋三種:SI、PI、API
4、EIT造形的<E>代表本架構
5、EIT造形的<T>代表本架構的配件(即插件:Plug-in)
六 一群<E&I>美妙的組合是:框架(Framework)
1、認識GoF的設計模式(Design Pattern)
2、隨著敏捷的迭代過程,EIT造形會逐漸增加
3、如何巧妙組合漸增的EIT造形:擅用設計模式
4、組合起來,就成為軟件框架了
5、如何迭成多層級(Layer)的框架體系:以Android為例