设计模式之6大设计原则(1)
单一职责原则(Single Responsibility Principle),简称SRP。
定义:一个类只负责一件事情;
说明:类的单一职责原则受多重因素制约,实际实现起来,需要考虑项目工期、成本、人员技术水平等
使用:接口一定要做到单一职责原则,类的设计尽量做到单一职责原则
扩展:单一职责原则同样适用于类中的方法,方法一定要职责分明,耦合最低处理
里氏替换原则:
定义:只要父类出现的地方子类就可以出现,而且替换为子类也不会产生任何错误和异常,适用根本不知道是父类还是子类。但是反过来就不行了,有子类出现的地方,父类未必就能适应
依赖倒置原则:
定义:核心思想就是面向接口编程
表现:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;接口或抽象类不依赖于实现类;实现类依赖接口或抽象类
接口隔离原则:
定义:接口尽量细化,同时接口中的方法尽量少,符合单一接口,接口不能臃肿;A业务调用一个接口,该接口只提供A要的功能,而没有此外其他的功能暴露给A业务使用
区别单一职责原则:单一职责原则是基于业务角度来划分职责的;而接口隔离原则是从接口本身的使用来规范的;
迪米特法则:
定义:类实现低耦合,调用者只需要了解被调用者的功能,而不需要了解被调用者是怎么实现的。
开闭原则:
定义:一个软件系统要实现对外扩展开放,对修改关闭,通俗的说就是,一个软件系统应该通过扩展来实现变化,而不是修改已有的代码来实现变化。
总结:
软件设计最大的难题就是应对需求的变化,但是纷繁复杂的需求变化又是不可预料的。前人总结的6大设计原则和23个设计模式就是来应对未来的变化。在设计开发一个软件时,我们要以6大设计原则为指导思想,以23设计模式为纲领,只有这样,我们的系统才能海纳百川,对需求变化来者不拒。