• 1. 设计模式概述


    1. 设计模式概述

    1.1 什么是GOF

    在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。

    对接口编程而不是对实现编程,优先使用对象的组合而不是集成。

    1.2 设计模式的基石

    • 封装
    • 集成
    • 多态
    • 顺序
    • 判断
    • 循环

    1.3 设计模式总览

    1.3.1 创建型

    • 工厂方法模式 Factory Method
    • 抽象工厂模式 Abstract Factory
    • 建造者模式 Builder
    • 单例模式 Singleton
    • 原型模式 Prototype

    1.3.2 结构型

    • 代理模式 Proxy
    • 适配器模式 Adapter
    • 桥接模式 Bridge
    • 装饰者模式 Decorator
    • 外观模式 Facade
    • 享元模式 Flyweight
    • 组合模式 Composite
    • 过滤器模式 Filter Pattern

    1.3.3 行为型

    • 模板方法模式 Template Method
    • 策略模式 Strategy
    • 命令模式 Command
    • 责任链模式 Chain of Responsibility
    • 状态模式 State
    • 观察者模式 Observer
    • 中介者模式 Mediator
    • 迭代器模式 iterator
    • 访问者模式 Visitor
    • 解释器模式 Interpreter
    • 备忘录模式 Memento

    1.4 设计的七大原则

    1.4.1 开闭原则 (Open Closed Principle)

    软件实体应该对扩展开放,对修改关闭;合成复用原则、里式替换原则相辅相成都是开闭原则的具体实现规范。扩展新类而不是修改旧类。

    1.4.2 里氏替换原则

    继承必须确保超类所拥有的性质在子类中仍然成立。继承父类而不去修改父类。

    1.4.3 依赖倒置原则

    高层模块不应该依赖底层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。面向接口编程,而不是面向实现编程

    1.4.4 单一职责原则

    一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。每个类只负责自己的事情,而不是变成万能的。

    1.4.5 迪米特法则

    最少知道原则。无需直接交互两个类,如果需要交互,使用中间者。

    过度使用迪米特法则,会使系统中产生大量的中介类,从而增加系统的负责性,使模块之间通信效率降低

    1.4.6 合成复用原则

    又叫组合/聚合复用原则,软件复用时,应该优先考虑使用组合或者聚合关系来实现,其次才考虑使用继承关系来实现。优先使用组合,其次使用继承。

    1.4.7 接口隔离原则

    一个类对另一个类的依赖,应该建立在最小的接口上。各个类建立自己的专用接口,而不是建立万能接口。

  • 相关阅读:
    redis 实例
    redis 常用命令
    redis sets类型及操作
    简单说说PHP优化那些事
    C# IEnumerable与IQueryable ,IEnumerable与IList ,LINQ理解Var和IEnumerable
    全文搜索引擎 elasticsearch.net
    .net 异步
    并行开发 8.用VS性能向导解剖你的程序
    并行开发 7.简要分析任务与线程池
    并行开发 6.异步编程模型
  • 原文地址:https://www.cnblogs.com/smallwolf/p/15816824.html
Copyright © 2020-2023  润新知