JV240: Java and J2EE Design Patterns (2-3 days*)
Course Overview
Design patterns are recurring solutions to common software problems. The specific details of a software problem may vary from project to project but patterns capture the essence and basic structure of successful experiences in solving similar problems. Design patterns thus offer a technique for capturing design and architecture, presenting and communicating architectural knowledge at all levels of a system, allowing experience and insights to be understood and distilled. This course is an in-depth introduction to design patterns for Java and J2EE systems and is designed for intermediate Java programmers wanting to advanced their mastery of the Java language by adopting best-practice coding conventions and patterns.
View sample slides: PatternsOverview
Covered patterns include fundamental patterns, creational patterns, behavioural patterns, structural patterns, system patterns, concurrency patterns, inter-tier data transfer patterns, presentation-tier patterns, business-tier patterns, persistence-framework patterns and integration-tier patterns.
Business Benefits
Design patterns incorporate proven techniques which embody the wisdom and experience of master practitioners and provide the following business benefits:
- Patterns can save programmers costly time by offering time-tested patterns rather than requiring developers to invent, test and debug their own designs from scratch.
- Patterns can reduce maintenance costs because most are created to assist refactoring and support evolvability.
- Finally, design patterns can increase team productivity because the team can communicate about their design options and choices using well-undertood, high-level pattern terminology rather than explaining low-level coding details.
Audience
Software Developers, Designers, Technical Managers and Architects interested in a hands-on exploration of Java & J2EE Design Patterns.
Pre-requisites
Students should be experienced programmers with a strong Java background. A basic knowledge of distributed computing, (RMI and/or CORBA/Java, J2EE), and a working knowledge of Servlets, JSPs and EJBs.
Course Objectives
After completing this course, participants will be able to:
- Understand the principles of using design patterns
- Understand several commonly used design patterns and be able to recognize them in other people's code
- Choose the right design patterns for their own projects
- Write flexible, reusable code
- Abstract object construction with creational patterns
- Compose objects and classes into larger groupings with structural patterns
- Architect flexible and maintainable J2EE applications
Course Topics *
- Patterns concepts
- Factory pattern
- Observer pattern
- Singletons
- Iterators
- Value list handler
- Service locator
- Command pattern
- MVC pattern
- Service activator
- Dispatchers
- Controllers
- Workers
- Inter-tier data transfer patterns including value objects and data access objects
- Session façade
- Message façade
- Business delegates
- Anti-patterns
* The course is modular and may be tailored to meet your exacting requirements. This description covers the 3-Day version of the course.
|