程序开发中总结了一套行之有效的方法论,类似于Java这种面向对象的语言,我们希望开发过程中能复合程序设计的七大原则,使得程序更加的健壮、优美和高可读性:
- 单一职责原则:又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。
- 里氏替换原则:派生类(子类)对象可以在程式中代替其基类(超类)对象。
- 依赖倒置原则:程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
- 接口隔离原则:客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。
- 开闭原则:软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的。
- 合成复用原则:尽量使用对象组合,而不是继承来达到复 用的目的。
- 迪米特法则:又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。
针对如上设计原则,形成了较为常用的成熟的23种细分设计模式,按设计模式具体的结构又分为如下几大类设计原则:
创建型模式
创建型模式又分为对象创建型模式和类创建型模式。对象创建型模式处理对象的创建,类创建型模式处理类的创建。详细地说,对象创建型模式把对象创建的一部分推迟到另一个对象中,而类创建型模式将它对象的创建推迟到子类中。如下为几种属于创造型模式:
结构型模式
结构型模式就是将一个大的系统通过元件的方式进行分解、拼装、组合成一个复杂的结构。如下为几种归属于结构型模式的设计模式:
- 适配器模式
- 装饰器模式
- 代理模式
- 组合模式
- 桥接模式
- 外观模式
- 享元模式
行为型模式
行为型模式用来识别对象之间的常用交流模式并加以实现。如此,可在进行这些交流活动时增强弹性。如下几种模式归属于行为型模式:
- 策略模式
- 观察者模式
- 责任链模式
- 命令模式
- 模板方法模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 访问者模式
- 状态模式
- 解释器模式