设计模式概述

一、模式

  模式描述的是重复发生问题的解决方案。设计模式是面向对象设计领域的葵花宝典。(无招八式)

       设计模式组成的核心有:

  • 名称

    名称是设计模式的代号,用来标识设计模式,同时也隐含了模式的问题、设计方案、效果等信息。
  • 问题

    问题即时模式的应用场景,问题是病,模式就是对症下的药。理解问题可以更好的实践模式。
  • 解决方案

         解决方案描述了模式是如何解决问题的,针对的是问题的抽象分析和解决方法,而不是具体实现。按照解决方式组合出来的效果也需要权衡,做什么都是有代价的


      设计模式一书将模式分为创建型模式、结构型模式、行为型模式。
      设计模式有两个特点,可复用,作用域是面向对象的设计。

二、设计模式之道

   设计模式之道在与找到变化,封装变化。
   找到变化回答了where,即在哪里使用设计模式。
           封装变化回答了why,即为什么使用设计模式以及使用哪个设计模式。

三、设计原则

   设计原则和设计模式是互补的,体现在,设计原则用来指导类的定义的设计,而设计模式主要用来指导类的行为的设计。
   solid的原则


设计原则英文名称 名称 说明
SRP 单一职责原则 一个类只承担一种责任,否则就进行拆分。一生爱一人嘛
OCP 开放封闭原则 对扩展开放,对修改关闭。可以认识其他异性,但是不能换恋人
LSP 里氏替换原则(老色批原则) 继承关系时,父类对象可以由任意子类对象进行替换,结果不会发生变化(##)
DIP 依赖倒置原则 高层模块不应该依赖低层模块,都依赖于抽象。 抽象和细节犹如白蛇和白素贞的区别
ISP 接口隔离原则 接口设计尽量的小,方法尽量集中。不要大杂烩,尽量白开水。主要原因是实现接口类的负重会降低。(##)

  

原文地址:https://www.cnblogs.com/Xilan/p/15046861.html