Skip to main content

Posts

Showing posts from April 26, 2020

Design Patterns : Abstract Factory

Abstract Factory is a kind of Structural Design Pattern. Solves the problem of creating instances of entire product families without specifying their concrete class. Frequency of use: 5/5 (High) Intent: Provides an interface for creating families of related or dependent objects without specifying their concrete classes. The new operator is considered harmful Problem: Solution: Explicitly declare interfaces for each distinct product of the product family Make all variants of that product follow those interfaces Create an abstract factory which returns abstract product type represented by the interface UML Class Diagram: Code: using System; namespace AbstractFactory { class Program { static void Main(string[] args) { Console.WriteLine("This is Abstract Factory"); Console.ReadLine(); } } #region FamilyOfProducts abstract class Button { public abstract void Pain...

Design Pattern: Behavioral Design Pattern

Behavioral design pattern deals with the common communication patterns between the objects and realizes these patterns. These patterns provides increased flexibility in carrying out these communications. Following are the Behavioral Design Patterns: Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor

Design Patterns

Design Patterns are predefined solutions to existing design problems in Software Design. 23 Patterns defined by Gang of Four(GoF) are considered as the foundation of all other design patterns. Following are the categories of design patterns: Creational Structural  Behavioral