设计模式概述

设计模式是一种设计思想,它的最终目的是解耦,在此基础上来提高程序的健壮性和可扩展性。

设计原则

单一职能原则

不要存在多余一个导致类变更的原因。通俗的讲,就是一个类只负责一个一个职能。

里氏代换原则

所用引用基类的地方必须能透明地使用其子类的对象,也就是说,子类可以扩展父类的功能,但不能改变父类原有的功能。它包括了以下四个含义:

  • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法
  • 子类中可以增加自己的特有的方法
  • 当子类的方法重载父类的方法时,方法的前置条件(形参)必须比父类的更宽松
  • 当子类的方法实现父类的抽象方法时,方法的后置条件(返回值)必须比父类的更严格

依赖倒转原则

高层模块不应该依赖低层模块,,当两者会产生关系的时候,最好让两者应该依赖其抽象,然后产生间接联系。依赖倒置原则的核心思想是面向接口编程,它包括以下含义:

  • 低层模块尽量都要有抽象类或接口
  • 变量的声明类型尽量是抽象类或接口

接口隔离原则

一个类对另一个类的依赖应该建立在最小的接口上,尽量细化接口,接口中的方法尽量少。也就是说,为每一个类建立专用的接口,而不是建立一个庞大的接口。单一职责原则主要是约束类,其次才是接口和方法,它针对的是程序中的实现和细节;而接口隔离原则主要约束接口接口,主要针对抽象,针对程序整体框架的构建。

合成复用原则

在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。简言之:要尽量使用组合/聚合关系,少用继承。

迪米特原则

一个对象应当尽量少的与其他对象之间发生相互作用,使得系统功能模块相对独立。

开闭原则

一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。也就是说:用抽象构建矿建,用细节实现扩展。开闭原则的实现其实就是尽可能做到以上几个原则的综合,单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。

设计模式分类

创建型模式

工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式

结构型模式

适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式

行为型模式

策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值