Object Discovery Solving great industry challenges with OO technologies
Home Training Consulting Our Company Careers Contact Us

Overview

Outline

Faculty

Testimonials

Inquire

Advanced OO Design and Patterns with Java Training Course Outline

Course Chapters:

  • The concept, power and elegance of an object.
  • Classes, class relationships and their instances.
  • The Unified Modeling Language (UML).
  • Fundamental Object-Oriented Design (OOD) Principles.
  • Advanced OOD with Design Patterns.
  • How to take advantage of the OO features of Java.
  • OO Design and Programming with the J2EE patterns.

Detailed Course Outline

Topic

Details

Introduction to OOAD for Java Developers
Understand how proper OOAD establishes the foundation for effective programming in Java

  • Review of main OOAD features
  • Identifying Classes & Attributes
  • UML Class Diagrams
  • UML Object Diagrams

Fundamental Object-Oriented Design
The basis of all advanced OO principles, techniques, and patterns

  • OO Principles
    • Encapsulation
    • Specialization
    • Self-Sufficiency
    • Interface
    • Instantiation
    • Abstraction
    • Inheritance
    • Polymorphism
  • Class Relationships
    • Inheritance
    • Composition
    • Aggregation
    • Association
    • Association Class
    • N-ary Association Class
  • UML Sequence Diagrams
  • UML Collaboration Diagrams

Design Patterns
Sharing expert knowledge by cataloging proven solutions to common problems

  • Overview of Patterns
  • Understanding Pattern Classification
  • Architectural Patterns
  • Creational Patterns
  • Structural Patterns
  • Behavioral Patterns

Architectural Patterns
Dividing a software system by responsibilities

  • Layers
  • Model-View-Controller (MVC)
  • Code Examples

Creational Patterns
Abstracting the instantiation process

  • What creational patterns are
  • When to use them
  • Factory Method
  • Abstract Factory
  • Builder
  • Prototype
  • Singleton
  • Code Examples & Exercises

Structural Patterns
Combining objects to form more complex structures

  • What structural patterns are
  • When to use them
  • Adapter
  • Iterator
  • Bridge
  • Façade
  • Flyweight
  • Decorator
  • Code Examples & Exercises

Behavioral Patterns
Assigning responsibilities among objects and the communication  between them

  • What behavioral patterns are
  • When to use them
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
  • Code Examples & Exercises

How to Combine Patterns
Employing multiple patterns to create powerful solutions

  • Using a Builder for a Composite
  • Code Examples & Exercises

Design Patterns Used in J2SE
Deepening understanding by looking at real-world use of patterns

  • How Java APIs make use of patterns
    • How Swing Event Handling uses
      • Observer
      • Adapter
      • Factory Method
      • Composite
      • Chain of Responsibility
      • Command
    • How AWT/Swing use
      • Observer
      • Composite
      • Chain of Responsibility
    • How AWT uses
      • Singleton
      • Bridge
      • Prototype
    • How Swing uses
      • MVC
      • Prototype
    • How JavaBeans use
      • Factory Method
      • Singleton
      • Adapter
      • Observer
    • How Collections use
      • Prototype
      • Iterator
      • Decorator
    • How I/O uses
      • Decorator
    • How Reflection uses
      • Factory Method
      • Façade
      • Proxy

The Rules Engine Framework (Advanced and Optional)
Offering Dynamic Behavior to End-users or Business Experts

  • Definition
  • Class-based / object-based rules
  • Object rules challenges and solutions
  • Rules Engine features
  • Commonly used Rules Engines
  • Rules Engine architecture
  • Rule instance examples and analysis
  • Rule UML model essentials
  • Rules narrative, UI and "soft" coding
  • Elaborated model
  • Rules Structure
    • "Composite" rule
    • "If" structure
    • "Comparison" model
    • "Test", "Value", and "Method"
  • Summary and conclusions
  • Rules Engine Lab
    • Creating your own rules
    • Extending the Rules Engine
  • Deciding if/when you need a Rules Engine

J2EE Architecture, Patterns & Frameworks
Expanding OO Design to enterprise applications using J2EE

  • J2EE Architectures
  • Design Patterns used in J2EE
  • J2EE Patterns
  • J2EE Frameworks

Comprehensive Project (Optional)
Integrating the fundamental OO Design Principles and Design Patterns

  • Problem Domain
  • UML main packages and layers
  • UML Domain Model
  • Overall Architecture
  • Java lab

Corporate Case Study (Optional)
Examining examples and challenges from your work environment

  • Examples where OO Design, Patterns or Frameworks should have been used
  • New opportunities to apply proper OO Design and Patterns
  • Identifying your home-made patterns
  • Opportunities to simply your design
  • Practical conclusions

Course Schedule and Location

Advanced OODP with Java On-site training – We come to your company to train your employees.
Advanced OODP with Java Public classes – You attend one of our courses offered in different cities.
Advanced OODP with Java Distant Learning – Learn straight from our instructors without leaving your office or home.

Back to Top

Home Training Consulting Our Company Careers Contact Us