Go To AppexTech

Design Pattern Training

1 Hour Daily

Duration:- ... Months

At Appextech, most programs have been designed to blend traditional academic content with applied learning concepts taught in a laboratory environment in order to help students prepare for career opportunities involving technology.

Course Objectives:

After completing this course, participants will be able to:

  1. Understand the principles of using design patterns
  2. Understanding the architectural relevance of patterns
  3. Understand commonly used design patterns and be able to recognize and implement them.
  4. Choose the right design patterns for their own projects
  5. Write flexible, reusable code.
  6. Architect flexible, reusable component and maintainable Java EE applications

Prerequisite: UML, OOPS concepts.

Preferred: Experienced programmers with a strong Java background. Understanding of distributed architecture.

Hands on: Though concepts will be generic enough but hands on will be in Java.

Course contents:

  1. UML Concepts
    1. Association
    2. Aggregation
    3. Composition
  1. OOPS concepts in Design pattern relevance.
    1. Abstraction
    2. Encapsulation
    3. Inheritance
  1. Design pattern terminologies and concepts.
    1. Static/Dynamic Binding etc.
  1. Creational Patterns
    1. Factory Method: Apply object-oriented principles and concepts to object creation
    2. Abstract Factory: Use a factory approach when dealing with families of related objects
    3. Builder: Encapsulate creation as a sequence of steps
    4. Prototype: Simplify object creation in complex scenarios
    5. Singleton: Create single instance of the class
  1. Structural Patterns
    1. Adapter: Interfacing incompatible classes
    2. Composite: Simplify implementing tree-like collections by defining operations which work for single and tree collections
    3. Decorator: Encapsulate implementing additional responsibilities related to a common interface
    4. Facade: Hide the complexity of a system behind a simple interface
    5. Proxy: Hide the complexity of accessing an object
    6. Bridge: Support abstractions/contracts and implementations to be extended independently
    7. Flyweight: Allow large numbers of similar objects to be represented by one object (and some state)
  1. Behavioural Patterns
    1. Command: Encapsulate a request as an object
    2. Observer: Support loose-coupling between a subject and an observer
    3. State: Encapsulate and simplify implementation of systems with fundamentally state-based behaviour.
    4. Strategy: Encapsulate and simplify implementation of systems with fundamentally algorithm-based behaviour.
    5. Template: Encapsulate alternative system
  1. Hands on to apply design pattern.
  1. design pattern course material is modular and may be tailored depending on business requirement.