Preface Design Pattern Categories How to Learn PART I Architectural Design Patterns MVC Case Study: Read, Process, Display, and Post Passing Select Options Distributing Application Logic Related Patterns Summary Creational Design Patterns Abstract Factory Case Study: Log Analysis Related Patterns Summary Builder Case Study: Jobs for Text Files When to Use Privacy Summary Factory Case Study: FI Documents for Parties Advantages Related Patterns Summary Lazy Initialization Case Study: Logging Errors Advantages Related Patterns Summary Multiton Case Study: Vendor Balance When to Use When to Avoid State Modification Summary Prototype Case Study: Item Clone Changing Class Properties Clone Operations Related Patterns Summary Singleton Case Study: Subcomponents Advantages and Disadvantages Related Patterns Summary Structural Design Patterns Adapter Case Study: Project Management Tools Glue Code Two-Way Adapters Legacy Classes Summary Bridge Case Study: Messaging Framework Advantages Summary Composite Recursive Programming: A Refresher Case Study: HR Positions Advantages Disadvantages When to Use Related Patterns Summary Data Access Object Case Study: Potential Customers Redundant Code Prevention Related Patterns Summary Decorator Case Study: User Exit Advantages and Challenges Related Patterns Summary Facade Case Study: Bonus Calculation When and Where to Use Related Patterns Summary Flyweight Case Study: Negative Stock Forecast Disadvantages When to Use Related Patterns Summary Property Container Case Study: Enhancing an SAP Program Static vs. Instance Containers Sharing Variables Variable Uniqueness Related Patterns Summary Proxy Case Study: Sensitive Salary Information When to Use Related Patterns Summary Chain of Responsibility Case Study: Purchase Order Approver Determination Risks Related Patterns Summary Behavioral Design Patterns Command Case Study: SD Documents When to Use or Avoid Related Patterns Summary Mediator Case Study: Stock Movement Simulation When to Use Disadvantages Summary Memento Case Study: Budget Planning Risks Redo Summary Observer Case Study: Target Sales Values Advantages Disadvantages Multiple Subjects Related Patterns Summary Servant Case Study: Address Builder Extensions Related Patterns Summary State Case Study: Authorization-Based Class Behavior Advantages Related Patterns Summary Strategy Case Study: Sending Material Master Data Advantages Passing Data to the Strategy Object Optional Strategies Intermediate Abstract Classes Related Patterns Summary Template Method Case Study: Average Transaction Volume When to Use Advantages and Risks Degree of Abstraction The "Hollywood Principle" Summary Visitor Case Study: Incoming Invoice Processing When to Use Related Patterns Summary Appendices Object-Oriented Programming Subclass Determination Principles The Author Index.
Design Patterns in ABAP Objects