Overview |
Outline |
Faculty |
Testimonials |
Inquire |
Course Outline for Java Object-Oriented Design & Patterns Training
Course Chapters:
- Overview
- Business Concept Modeling
- Object Design Fundamentals
- Real-World Application Example
- Application Architecture
- Domain Model Design
- Domain Model Implementation
- Comprehensive Project
- Real-World Considerations
- 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 Class Relationships, Encapsulation/Specialization, and Inheritance/Polymorphism. Then 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 elaborated Domain 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. 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 be applied and further elaborated in later chapters. It will be done in the context of a real-world application that will clearly demonstrate the need for these various strategies. |
|
3 |
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. |
|
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 |
Domain Model Design 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. |
|
3-4 |
Domain Model Implementation This is a nuts-and-bolts chapter that reveals the implementation details of what has been learned so far. Additional concepts and techniques are introduced in the context of the sample application. Students learn how to implement each detail of the Domain Model including how to manage objects, their relationships and how to provide client access. By the end of this chapter students feel very confident in converting a design model into clean object-oriented code. That type of code is well-structured, maximizes reusability, and therefore provides the platform for high extensibility and maintainability. Consequently, the time-to-market for new features will naturally become shorter. |
|
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", "Interpreter" and "Façade". Students see that these patterns emerge from the need to solve specific problems. This is the most effective way to learn Design Patterns. |
|
5 |
Appendix (Optional)
|
|
Course Details
Course Schedule and Location:
- Java OODP On-site training - We come to your company to train your employees.
- Java OODP Public classes - You attend one of our courses offered in different cities.
- Java OODP Distant Learning - Learn straight from our instructors without leaving your office or home.