zoukankan      html  css  js  c++  java
  • SOLID architecture principles using simple C# examples

    转:http://www.codeproject.com/Articles/703634/SOLID-architecture-principles-using-simple-Csharp?msg=4729987#xx4729987xx

    http://www.codeproject.com/Articles/28309/Design-pattern-FAQ-Part-1-Training

    S stands for SRP (Single responsibility principle):- A class should take care of only one responsibility.

    O stands for OCP (Open closed principle):- Extension should be preferred over modification.

    L stands for LSP (Liskov substitution principle):- A parent class object should be able to refer child objects seamlessly during runtime polymorphism.

    I stands for ISP (Interface segregation principle):- Client should not be forced to use a interface if it does not need it.

    D stands for DIP (Dependency inversion principle) :- High level modules should not depend on low level modules but should depend on abstraction.

    There are three basic classifications of patterns Creational, Structural, and Behavioral patterns.

    Creational Patterns

    • Abstract Factory:- Creates an instance of several families of classes 
    • Builder: - Separates object construction from its representation 
    • Factory Method:- Creates an instance of several derived classes 
    • Prototype:- A fully initialized instance to be copied or cloned 
    • Singleton:- A class in which only a single instance can exist

    Note: - The best way to remember Creational pattern is by remembering ABFPS (Abraham Became First President of States).
    Structural Patterns

    • Adapter:-Match interfaces of different classes . 
    • Bridge:-Separates an object’s abstraction from its implementation. 
    • Composite:-A tree structure of simple and composite objects. 
    • Decorator:-Add responsibilities to objects dynamically. 
    • Façade:-A single class that represents an entire subsystem.
    • Flyweight:-A fine-grained instance used for efficient sharing. 
    • Proxy:-An object representing another object.

    • Mediator:-Defines simplified communication between classes.
    • Memento:-Capture and restore an object's internal state. 
    • Interpreter:- A way to include language elements in a program.
    • Iterator:-Sequentially access the elements of a collection. 
    • Chain of Resp: - A way of passing a request between a chain of objects.
    • Command:-Encapsulate a command request as an object. 
    • State:-Alter an object's behavior when its state changes. 
    • Strategy:-Encapsulates an algorithm inside a class. 
    • Observer: - A way of notifying change to a number of classes. 
    • Template Method:-Defer the exact steps of an algorithm to a subclass. 
    • Visitor:-Defines a new operation to a class without change.

  • 相关阅读:
    错误: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. 的处理方法
    C语言习题
    嵌入式芯片STM32F407
    c语言课后习题
    求方程式的根
    C语言课后习题
    LINUX常用指令
    在 pythonanywhere 上搭建 django 程序(Virtualenv+python2.7+django1.8)
    Git远程操作详解
    ./configure,make,make install的作用
  • 原文地址:https://www.cnblogs.com/fengye87626/p/4174298.html
Copyright © 2011-2022 走看看