Agile Software Development: Principles, Patterns, and Practices (Hardcover)
暫譯: 敏捷軟體開發:原則、模式與實踐 (精裝版)

Robert C. Martin

買這商品的人也買了...

商品描述

For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming.

Written for software engineers “in the trenches,” this text focuses on the technology—the principles, patterns, and process—that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.

Table of Contents

I. AGILE DEVELOPMENT.

 1. Agile Practices.
 2. Overview of Extreme Programming.
 3. Planning.
 4. Testing.
 5. Refactoring. 
 6. A Programming Episode.

II. AGILE DESIGN.

 7. What Is Agile Design?
 8. SRP: The Single-Responsibility Principle. 
 9. OCP: The Open-Closed Principle.
10. LSP: The Liskov Substitution Principle.
11. DIP: The Dependency-Inversion Principle.
12. ISP: The Interface-Segregation Principle.

III. THE PAYROLL CASE STUDY.

13. Command and Active Object.
14. Template Method & Strategy: Inheritance vs. Delegation.
15. Facade and Mediator.
16. Singleton and Monostate.
17. Null Object.
18. The Payroll Case Study: Iteration One Begins.
19. The Payroll Case Study: Implementation.

IV. PACKAGING THE PAYROLL SYSTEM.

20. Principles of Package Design.
21. Factory.
22. The Payroll Case Study (Part 2).

V. THE WEATHER STATION CASE STUDY.

23. Composite.
24. Observer—Backing into a Pattern.
25. Abstract Server, Adapter, and Bridge.
26. Proxy and Stairway to Heaven: Managing Third Party APIs.
27. Case Study: Weather Station.

VI. THE ETS CASE STUDY.

28. Visitor.
29. State.
30. The ETS Framework.
 
Appendix A. UML Notation I: The CGI Example.
Appendix B. UML Notation II: The Statmux.
Appendix C. A Satire of Two Companies.
Appendix D. The Source Code Is the Design.
Index.

商品描述(中文翻譯)

適用於物件導向設計、C++ 中階程式設計及物件導向程式設計的課程。

本書專為在一線工作的軟體工程師撰寫,重點在於技術——原則、模式和過程——這些有助於軟體工程師有效管理日益複雜的作業系統和應用程式。本書也強調了 技術背後的人。 本書將為學生準備軟體工程的職業生涯,並作為軟體工程師持續進修的資源。

目錄

I. 敏捷開發。

 1. 敏捷實踐。

 2. 極限程式設計概述。

 3. 計畫。

 4. 測試。

 5. 重構。

 6. 一個程式設計的片段。

II. 敏捷設計。

 7. 什麼是敏捷設計?

 8. SRP: 單一職責原則。

 9. OCP: 開放-封閉原則。

10. LSP: 里氏替換原則。

11. DIP: 依賴反轉原則。

12. ISP: 介面隔離原則。

III. 薪資案例研究。

13. 命令與主動物件。

14. 模板方法與策略:繼承 vs. 委派。

15. 外觀與中介者。

16. 單例與單一狀態。

17. 空物件。

18. 薪資案例研究:第一輪開始。

19. 薪資案例研究:實作。

IV. 包裝薪資系統。

20. 包裝設計原則。

21. 工廠。

22. 薪資案例研究(第二部分)。

V. 天氣站案例研究。

23. 合成。

24. 觀察者——回溯到一個模式。

25. 抽象伺服器、適配器和橋接。

26. 代理與通往天堂的階梯:管理第三方 API。

27. 案例研究:天氣站。

VI. ETS 案例研究。

28. 訪問者。

29. 狀態。

30. ETS 框架。

 

附錄 A. UML 符號 I:CGI 範例。

附錄 B. UML 符號 II:Statmux。

附錄 C. 兩家公司的諷刺。

附錄 D. 原始碼即設計。

索引。