lectures/design-pattern

created : Sun, 23 Oct 2022 00:15:47 +0900
modified : Sun, 23 Oct 2022 20:24:38 +0900
design-pattern lecture

5. Factory

Factory Patterns

Factory Method Pattern

Design Principle: Dependency Inversion Principle

Factory Method Pattern

Abstract Factory Patttern

Factory Paterns

Participants

Abstract Factory Pattern

Summary

6. Adapter Pattern

Typical working process and Motivation

Implementation Issues

Summary

7. Facade Pattern

Motivation

Benefits

The Principle of Least Knowledge (Law of Demeter)

Facade Review

8. Singleton Pattern

Design Points

Reviewing the Options

9. Mediator Pattern

Battling Class Complexity

Mediator Pattern

Decoupling Senders and Receivers

Communication: Encaplusate vs. Distribute

10. SOLID

The Single Responsibility Principle

Open Closed principle

Conforming to OCP

Abstraction is the Key!

Anticipating Future Changes

Liskov Substitution Principle

Subtytping VS Implementation Inheritance

Dependency Inversion Principle

Inversion of Ownership

Interface Segregation Principle (ISP)

Fat interface

Summary

11. Iterator Pattern

The Iterator Pattern

Iterator Pattern

Summary

12. Composite Pattern

Things to Consider

Summary

Decorator Pattern

Design Princple: OCP

Review of Decorator Idea

The Definition of the Decorator

Summary

State Pattern

Applicaility of the State Pattern

Consequences of the State Pattern

State vs. Strategy

Summary

Builder Pattern

Builder - Participants

When a Builder Shouldn’t Be Used

Template Method Pattern

Design Princi8ple: Hollywood Principle

Summary

Proxy Pattern

Proxy Pattern Collaborations

Applicability

Distributed Computing

Client-Server Model and Programming

Remote Procedure Call (RPC)

Serialization basics

Object graphs and transient fields

Chain of Responsibility Pattern

HelpHandler class diagram

Participants

Consequences

Implementation

Bridge Pattern

Problem Analysis

Introducing Bridge Pattern

Structure of Bridge Pattern

Participants & Collaborations

Comparision with Adapter

Summary

Prototype Pattern

Prototype - participants

What’s so special about the pattern?

Cloning in JAVA

Review

Visitor Pattern

Motivations and Benefits

Participants

Collaborations

Method Overloading

Technical Details

How Double-dispatch is implemented in Visitor Pattern

Benefits

Liabilities

Implementation of Traversal

Summary

Design Patterns Review

Abstraction

Information hiding and Encapsulation

Separation of COncerns (SoC)

Interfaces

Modularity

Measuring Mdoularity

Copuling

Cohesion

Review of Behavioral Patterns

Encapsulating Varitions

Object as ARguments

Decoupling Senders and Receviers

Communication: Encapsulate vs. Distribute

Review of Structural Patterns

Adapter vs. Bridge

Adapter vs. Facde

Composite vs. Decorator

Decorator vs. Proxy

Review of Creational Patterns

Parameterizing a System

  1. Subclassing:
  1. Object composition:

Facotry Method vs Abstract Factory

Evolution of Creational Patterns

Removing Conditional Statements