Design Patterns and Principles

Duration: 32 Hours
Pattern figure


Design patterns are integral in understanding the software architecture in a methodical way. This course by Cognixia explains why patterns are vital for object-oriented design and development, how patterns are documented, categorized and cataloged and when they should be used. The course also discusses some important patterns and how they could be implemented.

What You'll Learn

Upon completion of this course, the participants will be able to:
  • Identify and design objects, classes and understand their relationships with each other
  • Use links, associations and Inheritance
  • Have a working knowledge UML 2.0
  • Apply the knowledge of OOAD to design an object-oriented system that could be implemented in an object-oriented language
Duration: 32 Hours


  • Object Oriented Programming concepts
  • Unified Modeling Language
  • Introduction to Design Patterns
  • SOLID Principles (SRP, OCP, LSP, IS, DI)
Topics –
  • Inheritance
  • Polymorphism
  • Interfaces
  • Different Member Field Attributes
  • Understanding Design Patterns
  • Design Patterns using well-defined UML Diagrams
  • Importance of Design Patterns
  • Introduction to different Classes of Design Patterns
  • Implementing DAO and Factory Pattern

  • Abstract Factory
  • Builder
  • Factory
  • Prototype
  • Singleton
  • Object Pool

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • MVC
  • Front Controller
  • Module
  • Proxy

  • Chain of Responsibility
  • Command
  • Iterator
  • Mediator
  • Observer
  • Strategy
  • Template Method
  • Visitor

  • Active Object
  • Monitor Object
  • Half-Sync/Half-Async
  • Leader/Followers
  • Thread-specific storage
  • Thread Pool, Scheduler

  • Software design anti-patterns
  • Software development anti-patterns
  • Overview of management anti-patterns

  • Compose methods
  • Move features between objects
  • Organizing data
  • Conditional expressions simplification
  • Simplifying methods

  • Iterator pattern
  • Abstract factory
  • Observer design patterns
Ripple wave


Knowledge of Java and J2EE (Servlets, JSP and EJB) is mandatory

Interested in this Course?

    Ready to recode your DNA for GenAI?
    Discover how Cognixia can help.

    Get in Touch
    Pattern figure
    Ripple wave