m.blog.csdn.net
一般來講重置成本越大,牽涉的人越多的事情越應該由架構師預先搞定,否則就容易做無用功,對開發工作產生致命傷害。具體來講這類事情由三個核心部分組成:
選定Tech Stack
概要設計,確立分工的基礎
協同方式
下面來分別解釋下這三個方面的具體含義。
再其次則是相對比較傳統一點的部分,不管從哪里開始迭代,總是要切分前端后端的職責,設計彼此交互的接口,要區分出來哪些是純工具型的模塊(比如日志),哪些是基礎設施型的(比如用戶管理與權限),哪些是可以徹底進行迭代的(比如具體的某個功能)。這些東西之間是有一種內在的時序關聯的,不是簡單一句:我們迭代吧,我們測試驅動開發吧,就可以的,那會導致很大的混亂,所以這里也是架構師要扮演角色的地方。傳統上管這個叫概要設計,雖然這詞現在不怎么用了,但這詞其實還不錯的。當然架構師不一定要一個人搞定所有這些事情,而是要肩負起協調大家搞定這些事情的職責。這個地方依賴于產品的類型對業務知識的要求程度不同:一般來講越是面向個人的產品,在業務知識上要求越低;越是面向企業的產品業務知識的要求越高。簡單講做天氣應用的時候可能直接做就行了,但做財務應用時了解財務的某些知識就挺必須的。