Software Design Patterns in Java

Introduction Download
Course Outline Outline
Reading Material Download
DayModulesSharing
1

Introduction:

  • Why do we need Design Pattern?
  • A bit of the history
  • Good software practices and principles
  • The Gang of Four (GoF)
  • Overview of the Design Patterns
  • Essential software engineering disciplines
  • How patterns are documented?
  • Class
  • Abstract Class
  • Interface
  • Aggregation & Composition
  • Multiplicity
  • Association
  • Role
  • Attributes
  • Operations and Methods
  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade
  • Flyweight
  • Prox
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor
  • Inheritance
  • Polymorphism
  • Abstract Classed and Methods
  • Interfaces
  • Access Modifiers
  • OO Terms.pdf
  • Day1.zip
  • University(Interface)
  • 2

    Creational Patterns:

    • Creating Singleton Using a Static Method
    • Exceptions and Instances
    • Throwing the Exception
    • Creating an Instance of the Class
    • Providing a Global Point of Access to a Singleton
    • Example in Java
    • When to Use a Factory Method?
    • Example in Java
    • How a Simple Factory Works?
    • Building the Simple Factory
    • Using the Factory
    • Consequences of Abstract Factory
    • Example in Java
    • How a Builder Works?
    • Consequences of the Builder Pattern
    • Example in Java
    • Using the Prototype
    • Deep Vs Shallow copy
    • Cloning the Class
    • Using the Prototype Pattern
    • Dissimilar Classes with the Same Interface
    • Prototype Managers
    • Consequences of the Prototype Pattern
    • Example in Java
  • Singleton
  • FactoryMethod
  • AbstractFactory
  • Builder
  • Prototype
  • 3

    Structural Patterns:

    • Basic understanding of GC based system
    • An Implementation of a Composite
    • Doubly Linked Lists
    • Consequences of the Composite Pattern
    • A Simple Composite
    • Example in Java
    • Handling events in a Decorator
    • Layout Considerations
    • Multiple Decorators
    • Decorators, Adapters, and Composites
    • Example in Java
    • Making an Adapter
    • The Class Adapter
    • Two-Way Adapters
    • Pluggable Adapters
    • Example in Java
    • What Constitutes the Façade?
    • Consequences of the Façade
    • Example in Java
    • Copy-on-Write
    • Comparison with Related Patterns
    • Example in Java
    • Extending the Bridge
    • Windows Forms as Bridges
    • Consequences of the Bridge Pattern
    • Example in Java
    • Sharable Objects
    • Copy-on-Write Objects
    • Intrinsic and extrinsic
    • Example in Java
  • Composite
  • Decorator
  • Façade
  • Adapter
  • Proxy
  • Bridge
  • Flyweight
  • 4

    Behavioural Patterns:

    • Applicability
    • Consequences of the Chain of Responsibility
    • Example in Java
    • Motivation
    • Command Objects
    • Building Command Objects
    • Consequences of the Command Pattern
    • Example in Java
    • Motivation
    • Applicability
    • State machine
    • Objects Used in Parsing
    • Regular Expression
    • Example in Java
    • Motivation
    • Consequences of the Iterator Pattern
    • Iterators in Java collections classes
    • Example in Java
    • Interactions Between Controls
    • Initialization of the System
    • Mediators and Command Objects
    • Consequences of the Mediator Pattern
    • Single Interface Mediators
    • Implementation Issues
    • Example in Java
    • Motivation
    • Implementation
    • Providing Undo
    • Command Objects in the User Interface
    • Example in Java
  • ChainOfResponsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • 5
    • “Don’t call me, I will call you” model
    • Consequences of the Observer Pattern
    • Event-Handler model in .NET
    • Example in Java
    • Switching Between States
    • How the Mediator Interacts with the State Manager?
    • Consequences of the State Pattern
    • Example in Java
    • Motivation
    • The Context
    • The Program Commands
    • Example in Java
    • Motivation
    • Kinds of Methods in a Template Class
    • Templates and Callbacks
    • Summary and Consequences
    • Example in Java
    • Motivation
    • When to Use the Visitor Pattern
    • Visiting the Classes
    • Visiting Several Classes
    • Catch-All Operations with Visitors
    • Double Dispatching Issue
    • Traversing a Series of Classes
    • Consequences of the Visitor Pattern
    • Example in Java
    • Overall structure of the design pattern catalogue
    • Classification of relationships
    • Categories of relationships
    • Modifying relationships and design patterns
  • Observer
  • State
  • Strategy
  • TemplateMethod
  • Visitor

  • Other Java related Courses you might be interested
    SE002 The Practice of Writing Excellent Code
    SE001OOT Introduction Basic Object-Oriented Concepts
    SE005J Programming Techniques for High Performance Java Codes
    SE009J Refactoring to Pattern in Java
    SE704J Java SE7 Fundamentals
    SE801J Java SE8 Fundamentals
    AI001 Programming with Artificial Intelligence Techniques

    Recommanded Books
    TitlePractical Design Patterns for Java Developers: Hone your software design skills by implementing popular design patterns in Java
    ISBN978-1-804-61467-9
    AuthorMiroslav Wengner
    Year2023
    Publisher Packt Publishing
    TitleSoftware Design Patterns for Java Developers
    ISBNB09MS4SH59
    AuthorMehra, Lalit
    Year2023
    Publisher BPB Publications
    TitleHands-On Design Patterns with Java: Learn Design Patterns That Enable the Building of Large-Scale Software Architectures
    ISBN978-1-789-80977-0
    AuthorEdward Lavieri
    Year2020
    Publisher Packt
    TitleDesign Patterns and Best Practices in Java: A comprehensive guide to building smart and reusable code in Java
    ISBN978-1-786-46359-3
    AuthorLucian-Paul Torje & Adrian Ianculescu & Kamalmeet Singh [Lucian-Paul Torje]
    Year2018
    Publisher Packt Publishing