设计模式(1)——设计原则

设计原则

有说五大原则,六大原则,七大原则;这不重要,重要的是了解这些原则是什么;设计原则要有取舍;编程

开闭原则:

定义:

软件实体应当对扩展开放,对修改关闭设计模式

开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,能够扩展模块的功能,使其知足新的需求架构

  • 用抽象构建框架,用实现扩展细节
  • 提升软件系统可复用性及可维护性

实现方式:

能够经过“抽象约束、封装变化”来实现开闭原则,即经过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。

由于抽象灵活性好,适应性广,只要抽象的合理,能够基本保持软件架构的稳定。而软件中易变的细节能够从抽象派生来的实现类来进行扩展,当软件须要发生变化时,只须要根据需求从新派生一个实现类来扩展就能够了框架

 里氏替换原则:

定义:

继承必须确保超类所拥有的性质在子类中仍然成立.net

实现方式:

  1. 里氏替换原则通俗来说就是:子类能够扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽可能不要重写父类的方法。

  2. 若是经过重写父类的方法来完成新的功能,这样写起来虽然简单,可是整个继承体系的可复用性会比较差,特别是运用多态比较频繁时,程序运行出错的几率会很是大。

  3. 若是程序违背了里氏替换原则,则继承类的对象在基类出现的地方会出现运行错误。这时其修正方法是:取消原来的继承关系,从新设计它们之间的关系。

 

 依赖倒置原则:

原始定义:

高层模块不该该依赖低层模块,二者都应该依赖其抽象;抽象不该该依赖细节,细节应该依赖抽象设计

实现方式:

依赖倒置原则的目的是经过要面向接口的编程来下降类间的耦合性,因此咱们在实际编程中只要遵循如下4点,就能在项目中知足这个规则。对象

  1. 每一个类尽可能提供接口或抽象类,或者二者都具有。
  2. 变量的声明类型尽可能是接口或者是抽象类。
  3. 任何类都不该该从具体类派生。
  4. 使用继承时尽可能遵循里氏替换原则。

 

单一职责原则:

定义

单一职责原则规定一个类应该有且仅有一个引发它变化的缘由,不然类应该被拆分继承

实现方式:

  1. 单一职责原则是最简单但又最难运用的原则,须要设计人员发现类的不一样职责并将其分离,再封装到不一样的类或模块中。而发现类的多重职责须要设计人员具备较强的分析设计能力和相关重构经验
  2. 单一职责一样也适用于方法。一个方法应该尽量作好一件事情。若是一个方法处理的事情太多,其颗粒度会变得很粗,不利于重用。

 

若在方法中有bool类型,必定要拆分红两个方法,由于必定有两个功能;接口

接口和方法的单一原则尽可能彻底遵照,类的单一原则在条件容许状况下遵照get

设计模式眼

相关文章
相关标签/搜索