Object-Oriented Design Elements, Principles and Practices |
The core elements of object-oriented thinking
|
- The nature and meaning of encapsulation
- Encapsulation and information hiding
- Good encapsulation with high cohesion of the object
- Case Study: Mail Service
- Inheritance vs. differential-based programming
- Principles of synthesis/polymerization multiplexing
- Case Study: Employee Information Management
- Polymorphism and abstraction
- The form in which polymorphism is implemented
|
Object-oriented design principles |
- Key points of the Single Responsibility Principle (SRP).
- Case Study: Order Management
- The essence of the Open Closed Principle (OCP).
- Case Study: Sorting Algorithm
- Liskov Substitution Principle (LSP) is a constraint on inheritance
- Rely on the nature of the Inversion Principle (DIP).
- Interface-oriented programming
- The essence of the Interface Isolation Principle (ISP).
|
Creative patterns and their practices |
The essence of the creative pattern |
- The purpose of creating a pattern
- Commonly used creative mode
|
Factory Method Pattern |
- The role and role of the factory method model
- Why the Factory Approach pattern needs to be introduced
- The application of design principles to the factory method model
- Case Study: Creation of URL Connection Objects (Analysis of Different Designs of Java and .NET Frameworks)
- Routines are superior to configuration ideas for the improvement of the factory method pattern
|
Abstract factory pattern |
- The essence of the abstract factory pattern
- Application of the abstract factory pattern in the data access layer
- Case Practice: Design of Report Components (Practice how to identify objects and use patterns to improve design)
- How to disarm specific dependencies and their best practices
|
Builder mode |
- The role and role of Builder Mode
- How Builder Mode can improve design
- Distinguish between builder mode and factory method mode
- Case Practice: Network Request Handler
|
Singleton pattern |
- The purpose of the singleton pattern
- Best practices for using singleton patterns
|
tructural patterns and their practices |
The essence of the structural model |
- The purpose of the structural model
- Commonly used structural patterns
|
Adapter mode |
- Case Study: How to Support Third-Party Paid Services
- Classification of adapter patterns: adapter patterns for classes and adapter patterns for objects
- The premise of applying the adapter pattern
- Case Study: Design of a Media Player
- Distinguish between the adapter pattern of a class and the adapter pattern of an object
|
Compositing mode |
- Structure and classification of synthesis patterns
- Case Study: Application of Synthetic Patterns in a Development Framework
- Case Study: The Use of Synthetic Patterns in a Unit Testing Framework
|
Decorator mode |
- The essence of the decorator pattern
- Case Study: Design of Web Portal (Deriving Decorator Patterns, Analyzing the Advantages and Disadvantages of Inheritance and Composition)
- Case Study: Processing of Streaming Objects
|
Proxy mode |
- The role and structure of the agent pattern
- Design principles in the Proxy pattern
- Case Study: Implementation of Virtual Agent
|
Bridging mode |
- The intent and structure of the bridging pattern
- Design principles in bridging patterns
- Case Study: Design of a Corporate Training System
- Case Study: SMS Messaging
|
Patterns of behaviour and their practices |
The nature of behavior patterns |
- The purpose of the behavior pattern
- Commonly used patterns of behavior
|
Policy mode |
- The nature and structure of the strategy pattern
- Case Study: Design of a Tax System
|
Command mode |
- The nature and structure of the command pattern
- The use of collections in command mode
- Case Study: Installation Wizard
- Case Study: The Use of Command Patterns in Open Source Frameworks (Analyzing the Combination of Command Patterns and Synthesis Patterns)
- Case Study: The use of command patterns by threads in the SDK
|
Template method pattern |
- Basic method vs. template method
- The difference between the template method pattern and the policy pattern
|
Visitor mode |
- Visitor mode responds to an expansion of behavior
- The meaning of double delegation
- A combination of visitor mode and synthetic mode
- Non-recurring visitor mode
|
Observer mode |
- The intent and knot of the observer pattern
- Observer mode in the interface framework
- The nature of the observer pattern
- Application of observer pattern in a layered architecture
|
Design pattern summary, analysis and case practice |
The realm of design patterns |
- Beginner: Draw your sword and look around
- Skilled: Not so much
- Master: There are no tricks to win
|
Frequently asked questions about design |
- Theory and design cannot be effectively combined
- Overuse of design patterns
- Rush to code, no effective design
|
The essence of design patterns |
- Package changes
- Rational use of object-oriented design ideas
- Appropriate use of object-oriented design principles
|
Another classification of design patterns |
- Interface-based mode
- Responsibility-based model
- Stereotype patterns
- Operant mode
- Extended mode
|
Design Pattern Design Practice |
- Case Study: A Management System (Application Scenario-Driven Design, Rational Use of Abstraction, Distinguishing Responsibilities and Collaboration of Objects)
- Case Study: A Supporting Tool (Flexible Use of Strategy Mode, Bridging Mode, Template Method Mode, Factory Method Mode)
|