你必须要知道的SOLID五大设计原则

SOLID五大设计原则

作为一个前端工程师 想要写出更多更好的代码 必须要了解的就是设计原则 这个是需要花时间才能懂的东西
S.O.L.I.D 是面向对象设计和编程中几个重要的编码原则的首字母缩写 这个单词对于我们做前端的来说 真的是非常常见 在css中经常见到 下面我们来了解常见的五大设计原则

常见的五种设计模式

  1. 单一职责原则 简写 SRP The Single Responsibility Principle
  2. 开放封闭原则 简写 OCP The Open Closed Principle
  3. 里式替换原则 简写 LSP The Liskov Substitution Principle
  4. 依赖倒置原则 简写 DIP The Dependency Inversion Principle
  5. 接口分离原则 简写 ISP The Interface Segregation Principle

一.单一职责原则 SRP

通俗来讲 一个类只负责一个职责 让类的职责更单一 这样把职责划分的很清楚 代码维护非常容易 一个非常好的例子 大家购物的时候添加商品到购物车 一次添加一样商品弹出一个购物车 但如果是十次添加弹出十次购物车来说 这就不符合我们的要求了 用户体验非常差 我们需要的是添加十次也是弹出一个来 这就很好的提现了我们的单一职责原则

单一职责原则的优点

  • 提高了可读性 每个类分工明确
  • 提高了可维护性 能够清晰找到问题所在
  • 减少代码复杂度 显的不会那么臃肿

二. 开放封闭原则

软件实体应该是可扩展的 而不可修改 也就是说 对扩展是开放的 而修改是封闭的 这个原则是诸多面向对象编程中最抽象 最难理解的一个原则 简单举个例子 一个已经测试完毕上线的系统 突然有一天你的项目经理告诉你呀 XXX啊 你来新加一个客户提的需求在我们的系统上 但是前提是不能影响到已经有的功能 看吧 这个就跟我们的开放封闭原则很像 允许你新增扩展 但是不允许修改

三. 里式替换原则

里式替换原则是面向对象设计的基本设计原则之一 意思呢大概是说 任何基类出现的地方 子类一定可以出现 也可以理解为子类可以替换父类 并且能够在父类出现的地方替换掉父类 但是父类对象不能替换子类对象 这种特性就成为里式替换原则 这里带一句 里式替换原则的名字来源于1988年一位麻省理工学院姓里的女士提出的

优点

  • 代码共享
  • 提高代码重用性
  • 提供了父类的扩展性

缺点

  • 子类继承了父类的所有属性和方法
  • 降低了子类的灵活性 有了父类的约束
  • 增加了耦合性 父类发生的改变必须去考虑子类

4.依赖倒置原则

依赖倒置原则是SOLID中最难实现的原则 它是实现开闭原则的重要途径 如果依赖倒置原则没有实现 开闭原则也就完成不了 定义为 : 高层模块不应该依赖于低层模块,二者都应该依赖于抽象

举例 :

A类依赖于B类 假如要将A类改为依赖B类 那么就必须要修改A类的代码 这个就很明显 A类是高层 B和C类是低层 如果贸然去修改A类 那么程序必须要承担一些不需要的分享 解决方式将A类改依赖接口 B和C各自实现接口 A类通过接口间接去实现和B与C的联系

依赖倒置原则的本质就是通过抽象使各个类或模块实现彼此独立 不影响 实现模块间的解耦性

5.接口隔离原则

接口隔离原则一直以来都有两种定义

  1. 客户端不应该依赖他不需要的接口

这个就有点像我们的单一职责原则 一个类应该只做一件事情

  1. 类间的依赖关系应该建立在最小的接口上

表明客户端不应该被强迫去实现一些他们不会用的接口 应该把方法分组 需要的时候专门去调用需要的 , 简单的说 就是使用多个专门的接口比使用单个接口要好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值