1.7 規劃還是演化
雖然大家對架構演化持支持肯定的態度,認為經過演化的架構一定是好的,但是如果演化周期很長的話,那么是否要進行演化就需要商榷了。就像不可降解的塑料制品,其以無害的狀態重新回歸自然需要幾百年甚至更長的時間。考慮演化時要結合軟件/應用系統的生命周期,否則演化將失去意義。
“好的架構是設計出來的[10]”,好的性能、好的質量,主要源于好的設計,而不依賴于測試。架構的質量將直接影響架構向好的方面演化的難易程度。
單靠演化,即使能使架構越來越優,也可能需要很長的周期,而對于產品或者項目而言,時間這個約束條件往往是苛刻的。
演化需要對架構進行不斷的迭代,但是迭代是有條件的,不是所有的迭代都能收斂。演化應該在有規劃的基礎上進行,盡管通過演化無法得到普適的架構,但可以得到特定領域的通用架構,可以在特定領域逐步優化應用架構,逐步與業務架構相適應,提高匹配度。
圖 1.5[11]是北京城址的變遷示意圖。作為古都,它的建設是按照《周禮》中的思想進行規劃的。在規劃的基礎上所做的建設是有序的,但也不是一成不變的,在漫長的歷史長河中,它也經歷了金中都、元大都、明清北京的演化。

圖1.5
推薦閱讀
- 軟件項目估算
- Spring Cloud Alibaba微服務架構設計與開發實戰
- Machine Learning with R Cookbook(Second Edition)
- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- Python數據分析從0到1
- C語言程序設計上機指導與習題解答(第2版)
- jQuery Mobile移動應用開發實戰(第3版)
- Canvas Cookbook
- Swift High Performance
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)
- Building E-Commerce Solutions with WooCommerce(Second Edition)
- Switching to Angular 2
- 零基礎學:微信小程序開發
- Meteor Design Patterns
- 云原生基礎架構:構建和管理現代可擴展基礎架構的模式及實踐