Article Consultation Solution Tool Course Member  
 
 
Successful Case
Continental Automotive Electronics
Bosch Automotive Electronics
Schaeffler electric drive
Joyson Automotive Electronics
Huawei Technical Center
BMW Automotive Research and Development Center
Geely Auto Research Institute
Byd Automotive Research Institute
 
 
Courses > Modeling
Software Design Patterns Best Practices
Views  
Zhang Mingyi
He used to be a senior architect at HP China, and was awarded the Microsoft Most Valuable Expert for four consecutive years.
 
Time Location: Beijing, Shenzhen and Shenzhen open classes Based on registration
Course Cost:1000 $/Person
Register Courses  
Internal Training: You can customize internal training according to the needs of the enterprise.


Software Architect Certification Methods
1. Knowledge: Authoritative Knowledge Exam;
2. Skills: Practical evaluation of real cases;
3. Experience: work experience review;
4. Literacy: An assessment of future development potential.


1. Real cases, with the help of the principles of case and design pattern knowledge, with the help of best practices, to help you improve your design ability, so as to improve development efficiency and design quality
2. From a new perspective, reveal the essence of the model, the way of thinking, analyze the "way" of the model, and jump out of the "trap" of "pattern for the sake of the model"
3. Improve the design ability, so that developers can change from "programming workers" to design experts
4.
Combine test-driven development and refactoring to improve the quality of software design 5. Pay attention to the design patterns in the industry, and drive the understanding and application of design patterns with practical training

Questions to be addressed one by one in the course:
1. Employees are unable to receive legacy systems because the code is messy and readable poorly
2. Team members have no knowledge and experience in design patterns and cannot implement agile development
3. The system is difficult to refactor, which is not conducive to product reuse and secondary development
4. Development efficiency is not guaranteed, because detailed designers cannot understand the architecture documents and detailed design solutions
5. The design scheme is difficult to cope with demand changes
6. The designed system architecture lacks scalability, maintainability and testability, and cannot be reasonably reused
7. Each role in the three links of architecture, design and development cannot understand the design intent and is difficult to communicate
Training Target: Software development engineers, software designers
Student Foundation: have some experience in object-oriented development and design pattern application
Teaching Method: Customized Course + Case Explanation + Group Discussion, 60% Case Explanation, 40% practice exercise

Training Content: 2 Days
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)
   
 


Consulting Services: Model-Driven Development Process
Consulting Objective Help build model-driven analysis, design, development, testing
Scope Consultation Requirements Modeling, Architecture Modeling, Database Modeling, Code Modeling, Test Modeling.
Consultation Method Model-driven development process training, modeling and management tool environment construction, combined with actual customer case demonstration, team practice guidance, model evaluation standards formulation, specification formulation
Successful Case Huawei Research and Development Center, Space Center of Chinese Academy of Sciences, Nanjing 14 Institute, China Mobile Research Institute and so on.
For more information:010-62670969, umlooo@hotmail.com