您的位置:首页 > 其它

设计模式之——五大原则

2015-01-04 11:11 183 查看
【1】引入:
          最基本的设计原则:就是SOLID(缩写)这五项原则。
           S = 单一职责原则
           O = 开放闭合原则
           L = 里氏代换原则
           I = 接口隔离原则
           D = 依赖倒转原则
【2】个设计模式原则简介
一:单一职责原则:

 内容:一个类有且只有一个职责。

 我的理解:如果有多于一个原因导致你的类改变,你就需要将这个类拆分为多个类。这张图片就特别的赋予意义性,就是如果在一个设备中实现所有的功能,会怎么样呢?其中一个功能的实现必将影响另一个职责的功能。



二:开放-封闭原则
     
内容:是说软件实体(类,模块,函数等)应该可以扩展,但是不可修改。
   
我的理解: 当有新的需求发生改变时,我们只需通过添加代码来达到我们想要的小狗,而非是更改现有的类,目的就是达到易维护的状态。
按照图片来说:我们只需要通过衣服来改变我们的外貌,而不必为此而改变自己身体内部。
    



三:里氏代换原则:
        内容:子类型必须能够替换掉它们的父类型。
我的理解:里氏代换原则是开放封闭原则实现的前提,父类型一般都定义为抽象类或者接口,这样,子类才可去继承或者实现所有父类中定义的方法或属性,这样保证子类可以替代父类型,也因此满足当功能的扩展,可通过继承来扩展功能,而非改变父类。换句话说,里氏代换原则就是一种确保继承被正确使用的手段。
鸵鸟是一种鸟,并继承了鸟类,可是鸵鸟并不会飞,这样的话只会导致类继承混乱。



四:接口隔离原则
            内容:客户端不应该依赖于它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

          我的理解:接口不应该费劲的去了解它用不到的接口。就是如果你写一个类,通过接口来暴露它们的功能,客户端通过接口调用你写的类,可是如果接口中功能过多,则会出现当类去实现接口,它必然会实现里边所有的方法,其中肯定有一些它是用不到的,这样就平白无故的加入一些非代码,使得维护变得困难。换句话说,就是让接口简单,做它该做的事情,这样易懂且易重用。
看这张图片,这么多的接口,我该插在哪个上边呢?

         

  五:依赖倒转原则

         内容:抽象不应该依赖细节,细节应该依赖于抽象。
        我的理解:不管用哪种语言来编写程序,主要得是编写时考虑的都是如何针对抽象编程而不是针对细节编程,即程序中存在的依赖关系仅止于抽象类或者接口,那就是实现了面向对象的设计了。
就以现实生活中的例子来说,汽车由引擎,车轮等,它们的组装都没有组成不可分割的一个整体,就是说,每个都是“可插拔”的类型的,车轮爆胎,总不能把整个车再修理一遍吧,意思就是车没有针对车轮而设计,即满足这个抽象的车轮都可以安装到这个汽车上,说的就是这个道理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: