设计原则-设计模式总览

简介: 设计原则-设计模式总览

image.png


单一职责原则(SRP)


一个对象(方法/类)只做一件事。

如果一个方法承担了过多的功能,那么在需求的变迁过程中,需要改写这个方法的可能性就越大。

如果随着需求的变化,有两个职责总是同时变化,那就不必分离他们。比如在 ajax 请求的时候,创建xhr对象和发送xhr请求几乎总是在一起的,那么创建xhr对象的职责和发送xhr请求的职责就没有必要分开。

优点是降低了单个类或者对象的复杂度,按照职责把对象分解成更小的粒度,这有助于代码的复用,也有利于进行单元测试。

缺点是会增加编写代码的复杂度。当我们按照职责把对象分解成更小的粒度之后,实际上也增大了这些对象之间相互联系的难度。

相关文章:


最少知识原则(LKP)


也叫迪米特法则,最小可用原则

尽量减少对象之间的交互。

常见的做法是引入一个第三者对象,来承担这些对象之间的通信作用。如果一些对象需要向另一些对象发起请求,可以通过第三者对象来转发这些请求。

相关文章:


开放封闭原则(OCP)


核心:在不改动源码的基础上,程序的功能是可以拓展或者修改的。

最简单粗暴的方法就是找出程序中将要发生变化的地方,然后把变化封装起来。

回调函数是一种特殊的挂钩。我们可以把一部分易于变化的逻辑封装在回调函数里,然后把回调函数当作参数传入一个稳定和封闭的函数中。

  • 挑选出最容易发生变化的地方,然后构造抽象来封闭这些变化。
  • 在不可避免修改的时候,尽量修改那些相对容易修改的地方。拿一个开源库来说,修改配置文件,总比修改源代码来得简单。

相关文章:


代码重构


判断是否需要重构的标准

  1. 迭代效率。代效率变低了,比如代码的研发效率越来越低,严重阻碍了它的迭代速度。
  2. 稳定性。开发者修改一 Bug 引出了多个新 Bug,代码变得很复杂了。
  3. 扩展性。扩展性不足,性能无法满足要求,比如做大型运营活动时,单体无法满足需求,企业就需要做一些分布式的改造,把主链路和分支链路分开,做更好的扩展性和弹性。


目录
相关文章
|
设计模式 关系型数据库
【设计模式——学习笔记】设计模式简介+七大设计原则介绍(下)
【设计模式——学习笔记】设计模式简介+七大设计原则介绍
147 0
|
3天前
|
设计模式 存储 关系型数据库
「全网最细 + 实战源码案例」设计模式——六大设计原则
本文介绍了面向对象设计中的六大原则,旨在提高软件系统的可维护性、可复用性和可拓展性。这些原则包括:开闭原则(OCP)、里氏代换原则(LSP)、依赖倒转原则(DIP)、接口隔离原则(ISP)、迪米特法则(LoD)和合成复用原则(CARP)。每项原则通过具体示例展示了如何通过抽象、多态、组合等方式降低耦合度,增强系统的灵活性与稳定性,从而提升开发效率并降低成本。
19 10
|
4月前
|
设计模式 Java 测试技术
Java设计模式-UML与设计原则(1)
Java设计模式-UML与设计原则(1)
|
5月前
|
设计模式 前端开发 JavaScript
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
React开发设计模式及原则概念问题之什么是HOC(Higher-order component),HOC遵循的设计原则都有哪些
|
6月前
|
设计模式 算法
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
|
8月前
|
设计模式 算法 Java
【设计模式系列笔记】设计模式与设计原则
设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 设计原则是一些通用的设计指导方针,它们提供了如何设计一个优秀的软件系统的基本思想和规则。指导着设计者如何组织代码以实现高内聚、低耦合、易扩展和易维护的软件系统。
96 4
|
8月前
|
设计模式 Java 数据安全/隐私保护
设计模式之六大设计原则
设计模式之六大设计原则
86 0
|
8月前
|
设计模式 关系型数据库 程序员
【设计模式】设计原则
【1月更文挑战第12天】【设计模式】设计原则
|
设计模式 程序员
设计模式-设计原则
设计模式-设计原则
|
设计模式 存储 Java
JAVA设计模式第一讲:设计原则
JAVA设计模式第一讲:设计原则
124 0

热门文章

最新文章