Emergent Design: The Evolutionary Nature of Professional Software Development (Hardcover)

Scott Bain

  • 出版商: Addison Wesley
  • 出版日期: 2008-03-08
  • 定價: $1,860
  • 售價: 8.0$1,488
  • 語言: 英文
  • 頁數: 411
  • 裝訂: Hardcover
  • ISBN: 0321509366
  • ISBN-13: 9780321509369
  • 相關分類: 軟體工程
  • 立即出貨(限量) (庫存=5)



For software to consistently deliver promised results, software development must mature into a true profession. Emergent Design points the way. As software continues to evolve and mature, software development processes become more complicated, relying on a variety of methodologies and approaches. This book illuminates the path to building the next generation of software. Author Scott L. Bain integrates the best of today’s most important development disciplines into a unified, streamlined, realistic, and fully actionable approach to developing software. Drawing on patterns, refactoring, and test-driven development, Bain offers a blueprint for moving efficiently through the entire software lifecycle, smoothly managing change, and consistently delivering systems that are robust, reliable, and cost-effective.

Reflecting a deep understanding of the natural flow of system development, Emergent Design helps developers work with the flow, instead of against it. Bain introduces the principles and practices of emergent design one step at a time, showing how to promote the natural evolution of software systems over time, making systems work better and provide greater value. To illuminate his approach, Bain presents code examples wherever necessary and concludes with a complete project case study.

This book provides developers, project leads, and testers powerful new ways to collaborate, achieve immediate goals, and build systems that improve in quality with each iteration.

Coverage includes

  • How to design software in a more natural, evolutionary, and professional way
  • How to use the “open-closed” principle to mitigate risks and eliminate waste
  • How and when to test your design throughout the development process
  • How to translate design principles into practices that actually lead to better code
  • How to determine how much design is enough
  • How refactoring can help you reduce over-design and manage change more effectively

The book’s companion Web site, www.netobjectives.com/resources, provides updates, links to related materials, and support for discussions of the book’s content.



為了讓軟體能夠持續地提供承諾的結果,軟體開發必須成熟為一個真正的專業。《Emergent Design》指引了這條路徑。隨著軟體的不斷演進和成熟,軟體開發過程變得更加複雜,依賴於各種方法和途徑。這本書闡明了建立下一代軟體的道路。作者Scott L. Bain將當今最重要的開發學科整合成一種統一、簡化、實際且可行的軟體開發方法,並融入模式、重構和測試驅動開發的概念,提供了一個高效地進行整個軟體生命週期、順利管理變化並持續交付強大、可靠且具有成本效益的系統的藍圖。

《Emergent Design》反映了對系統開發自然流程的深刻理解,幫助開發人員與流程合作,而不是對抗它。Bain逐步介紹了新興設計的原則和實踐,展示如何促進軟體系統隨著時間的推移自然演化,使系統運作更好並提供更大的價值。為了說明他的方法,Bain在必要時提供了程式碼示例,並以一個完整的專案案例研究作為結尾。


- 如何以更自然、演進和專業的方式設計軟體
- 如何使用「開放封閉」原則來減輕風險並消除浪費
- 如何在開發過程中測試設計
- 如何將設計原則轉化為實際能帶來更好程式碼的實踐
- 如何確定多少設計是足夠的
- 如何通過重構幫助您減少過度設計並更有效地管理變化