Overview |
Outline |
Faculty |
Testimonials |
Inquire |
Course Outline for OO Design and Patterns Training (OOD)
Course Chapters:
- Overview
- Business Concept Modeling
- Object Design Fundamentals
- Link Management
- Domain Model Implementation
- Application Architecture
- Object Construction I
- Application Example
- Domain Model Design Example
- Comprehensive Project
- The Rules Engine Framework
Detailed Course Outline
DAY |
CHAPTERS & STRATEGIES |
TOPICS |
|---|---|---|
1 |
Overview |
|
1 |
Business Concept Modeling (BCM) This chapter presents how to model any business domain using the Unified Modeling Language (UML). BCM is a crucial topic for students to master the various Domain Models and Pattern Class Diagrams presented in the Design and Implementation chapters of this course. |
|
1-2 |
Object Design Fundamentals This chapter explains the fundamental principles of object design and the best strategies to implement them. We first cover the best basic OO Design techniques that implement Encapsulation & Specialization as well as Inheritance & Polymorphism. Then we explore the different polymorphism strategies. The chapter finishes with the Role Pattern, which is used to implement flexible and powerful dynamic types and roles. Roles are essential parts of problem domains that require solutions ranging from static, non-changing roles to flexible, changing roles, assuming multiple roles and providing polymorphism across all roles. All these topics will later be studied within the context of real applications. |
|
2 |
Link Management Implementing a domain model typically includes writing elaborate code for instantiating and managing the different types of object relationships at runtime. We cover all the details about relationship implementation and show how they can be managed efficiently with minimum coding overhead. All these topics will later be studied within the context of real applications. |
|
2-3 |
Domain Model Implementation We explore how objects can collaborate and use each other based upon Specialization and Delegation to implement specific functional requirements. These techniques quickly lead us towards the Propagation Pattern, the most powerful approach to implement elaborate Business Logic. This topic is then complemented by the Visitor Pattern that shows how Domain functionality can be encapsulated outside the Business Classes, keeping the Domain lean and easy to manage. |
|
3 |
Application Architecture Before we start the design of our sample application and all the implementation details, we must look at the big picture. This chapter shows the architecture of a typical enterprise application and where the domain model fits in. |
|
3-4 |
Object Construction I In object-oriented languages we use constructors to create objects. Using constructors directly has certain limitations that can convolute the application code and make it hard to reuse and understand. In this chapter we discuss powerful patterns for properly encapsulating object creation logic. These solutions maximize reuse and keep client code simple and free of detailed instantiation code. |
|
4 |
Real-World Application Example All object design principles and patterns are best understood in a real-life situation. In this chapter we introduce the artifacts of a real-world problem domain: the scheduling and registration for Public Training Classes. We will use this domain throughout the remainder of the course to exercise many important design principles and patterns. This hands-on approach helps students to see clearly the need for patterns and to appreciate the design solutions they offer. It will then be very easy to apply these solutions at work. |
|
4 |
Domain Model Design Example The analysis domain model that was introduced earlier as well as all other analysis artifacts lay the foundation for the detailed design. This chapter covers the considerations and refinements necessary to prepare the domain model for successful implementation. |
|
4 |
Comprehensive Project At this point it is important for students to experience what issues may arise while implementing a real application. This chapter uses the analysis and design artifacts discussed earlier and many of the OO design techniques learned so far to build the application at hand. |
|
5 |
The Rules Engine Framework (Advanced) Business rules change more frequently than any other aspect of your enterprise applications. Historically, business rules have been hard-coded as part of the business logic. To provide greater flexibility and control it is a far better approach to encapsulate the rules separately from the domain model, make them dynamic and manage them with a Rules Engine. In this chapter we go over the entire OO analysis and design of a simple but powerful Rules Engine. We analyze what rules are, build a UML model, design a Rules Engine, explore its code and finally extend the engine with additional features during a lab. This is a great opportunity to not only understand Rules Engines but also apply many of the OO Development techniques studied in this course. Furthermore, this chapter introduces additional Design Patterns like "Command", "Composite", and "Façade". Students appreciate how these patterns solve the Rules Engine specific problems. This is the most effective way to learn Design Patterns. |
|
Course Details
Course Schedule and Location:
- OO Design and Patterns On-site training - We come to your company to train your employees.
- OO Design and Patterns Public classes - You attend one of our courses offered in different cities.
- OO Design and Patterns Distant Learning - Learn straight from our instructors without leaving your office or home.