- 實用軟件架構:從系統環境到軟件部署
- (印)蒂拉克·米特拉
- 1030字
- 2019-09-02 17:48:32
譯者序
軟件開發工作是由需求引領的,而需求會隨著業務的發展逐漸變得龐雜。為了對持續變化的需求進行有效的管理,很多開發者與軟件公司都建立了軟件架構這樣一個概念。盡管軟件業與傳統的實物產業不同,但它依然可以通過良好的架構指導項目的設計、編碼、測試、部署以及維護等諸多階段。從這個意義上講,軟件架構與其他行業的架構之間有相通的地方。
然而,這并不是一本泛論架構的圖書,它談論的是軟件架構,并且尤為關注軟件架構中的實際做法。與題材類似的其他書籍相比,本書在核心理念、結構安排以及術語使用等方面都有自己的特色。
本書的核心理念體現在恰到好處(just enough)這個詞上。架構固然應該對實現起指導作用,但這個指導作用應該留有一定的余地,使我們可以對架構進行反思,并根據項目的發展情況對其做出調整。軟件架構要想做得務實,就需要把握住恰到好處的原則,架構師要知道應該把模塊細化到何種程度,才能使開發團隊在既定的大方向下靈活地進行發揮。
在結構的安排上,作者首先簡介了貫穿全書的Elixir項目,后續各章分別用該項目來做案例研究,以演示軟件架構的某一個方面,把這些方面拼合起來就可以形成一套完整的案例。把該案例與工作中的實際項目進行對比,或許會對大家有所啟發。接下來,作者談了軟件架構的含義和意義,并指出了描述架構所用的幾種視點。然后,作者明確提出架構中需要關注的7個方面,并且用7章的篇幅來詳細地進行講解,使我們明白怎樣才能恰到好處地應對這些方面。本書最后給出3個專題,分別介紹了大數據時代的分析架構、作者在多年工作中所積累的經驗,以及業界經常談論的25個架構話題。
在術語的使用上,作者經常采用兩種或三種稱呼來指代同一個概念,這不僅反映了該概念所具有的多重意義,而且還使讀者感受到一種現象:不同的人在不同的情境下稱呼同一個概念時,關注的重點是有所區別的。由于作者就職于IBM公司,因此譯者在翻譯術語時,優先考慮采用IBM網站上已有的譯法,對于同時具有多種譯法的術語,則酌情采用其中較常見的一種或兩種。
縱觀全書,作者清晰地描繪了軟件架構工作的執行脈絡,并指出了從系統環境到軟件部署等諸多環節中所應注意的各種問題。需要提醒大家的是,軟件架構必須通過適當的代碼及硬件配置得以體現,因此,架構應該盡量與實際的編碼及測試工作相契合,而且要與后兩者保持互動。
在翻譯過程中,我得到了機械工業出版社華章公司諸位編輯和工作人員的幫助,在此深表謝意。
由于譯者水平有限,錯誤與疏漏之處,請大家發郵件至eastarstormlee@gmail.com,或訪問github.com/jeffreybaoshenlee/psa-errata/issues留言,予以批評指正。
愛飛翔
- Boost程序庫完全開發指南:深入C++”準”標準庫(第5版)
- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- Ext JS 4 Web Application Development Cookbook
- SAP BusinessObjects Dashboards 4.1 Cookbook
- 從0到1:Python數據分析
- 區塊鏈技術進階與實戰(第2版)
- R用戶Python學習指南:數據科學方法
- Unity Android Game Development by Example Beginner's Guide
- The Statistics and Calculus with Python Workshop
- C語言程序設計
- Mastering PowerCLI
- Selenium WebDriver Practical Guide
- 大話程序員:從入門到優秀全攻略
- Go語言編程之旅:一起用Go做項目
- Flink原理深入與編程實戰:Scala+Java(微課視頻版)