C++软件设计(影印版)
Klaus Iglberger
出版时间:2023年03月
页数:415
“这本书将提高几乎所有C++程序员的业务水平。书中充满了实用的设计模式和令人惊叹的想法。我从这本书中学到的东西远超预期。”
——Mark Summerfield
Qtrac有限公司所有者

好的软件设计对于项目的成功至关重要,但设计软件并非易事。你需要对设计决策的结果有深刻的理解,并很好地了解可用的设计方案。通过本书,有经验的C++开发人员将对使用这种现代语言的软件设计有一个透彻的、实用的、前所未有的理解。展开全部内容介绍
  1. Preface
  2. 1. The Art of Software Design
  3. Guideline 1: Understand the Importance of Software Design
  4. Guideline 2: Design for Change
  5. Guideline 3: Separate Interfaces to Avoid Artificial Coupling
  6. Guideline 4: Design for Testability
  7. Guideline 5: Design for Extension
  8. 2. The Art of Building Abstractions
  9. Guideline 6: Adhere to the Expected Behavior of Abstractions
  10. Guideline 7: Understand the Similarities Between Base Classes and Concepts
  11. Guideline 8: Understand the Semantic Requirements of Overload Sets
  12. Guideline 9: Pay Attention to the Ownership of Abstractions
  13. Guideline 10: Consider Creating an Architectural Document
  14. 3. The Purpose of Design Patterns
  15. Guideline 11: Understand the Purpose of Design Patterns
  16. Guideline 12: Beware of Design Pattern Misconceptions
  17. Guideline 13: Design Patterns Are Everywhere
  18. Guideline 14: Use a Design Pattern’s Name to Communicate Intent
  19. 4. The Visitor Design Pattern
  20. Guideline 15: Design for the Addition of Types or Operations
  21. Guideline 16: Use Visitor to Extend Operations
  22. Guideline 17: Consider std::variant for Implementing Visitor
  23. Guideline 18: Beware the Performance of Acyclic Visitor
  24. 5. The Strategy and Command Design Patterns
  25. Guideline 19: Use Strategy to Isolate How Things Are Done
  26. Guideline 20: Favor Composition over Inheritance
  27. Guideline 21: Use Command to Isolate What Things Are Done
  28. Guideline 22: Prefer Value Semantics over Reference Semantics
  29. Guideline 23: Prefer a Value-Based Implementation of Strategy and Command
  30. 6. The Adapter, Observer, and CRTP Design Patterns
  31. Guideline 24: Use Adapters to Standardize Interfaces
  32. Guideline 25: Apply Observers as an Abstract Notification Mechanism
  33. Guideline 26: Use CRTP to Introduce Static Type Categories
  34. Guideline 27: Use CRTP for Static Mixin Classes
  35. 7. The Bridge, Prototype, and External Polymorphism Design Patterns
  36. Guideline 28: Build Bridges to Remove Physical Dependencies
  37. Guideline 29: Be Aware of Bridge Performance Gains and Losses
  38. Guideline 30: Apply Prototype for Abstract Copy Operations
  39. Guideline 31: Use External Polymorphism for Nonintrusive Runtime Polymorphism
  40. 8. The Type Erasure Design Pattern
  41. Guideline 32: Consider Replacing Inheritance Hierarchies with Type Erasure
  42. Guideline 33: Be Aware of the Optimization Potential of Type Erasure
  43. Guideline 34: Be Aware of the Setup Costs of Owning Type Erasure Wrappers
  44. 9. The Decorator Design Pattern
  45. Guideline 35: Use Decorators to Add Customization Hierarchically
  46. Guideline 36: Understand the Trade-off Between Runtime and Compile Time Abstraction
  47. 10. The Singleton Pattern
  48. Guideline 37: Treat Singleton as an Implementation Pattern, Not a Design Pattern
  49. Guideline 38: Design Singletons for Change and Testability
  50. 11. The Last Guideline
  51. Guideline 39: Continue to Learn About Design Patterns
  52. Index
购买选项
定价:128.00元
书号:978-7-5766-0553-2
出版社:东南大学出版社