前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开工!聊一聊一些设计原则!

开工!聊一聊一些设计原则!

作者头像
公众号guangcity
发布2021-11-17 10:06:46
2200
发布2021-11-17 10:06:46
举报
文章被收录于专栏:光城(guangcity)光城(guangcity)

大家好,我是光城,很久没发文章了,主要是工作上比较忙,希望大家理解,期待大家留言区交流,本节分享SOLID原则与抽象三原则。

1.SOLID原则

S 单一职责原则

O 开闭原则

L 里氏替换原则

I 接口隔离原则

D 依赖倒置原则

单一职责原则(SRP)

一个 class 应该只做一件事,一个 class 应该只有一个变化的原因

开放封闭原则(OCP)

class 应该对扩展开放对修改关闭

里氏替换原则(LSP)

一个对象在其出现的任何地方,都可以用子类实例做替换,并且不会导致程序的错误。

例如:正方形不是长方形的子类

接口隔离原则(ISP)

隔离意味着保持独立,接口隔离原则是关于接口的独立。

该原则描述了很多客户端特定的接口优于一个多用途接口。客户端不应该强制实现他们不需要的函数。

依赖倒置原则(DIP)

抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对抽象(接口)编程,而不是针对实现细节编程。

依赖倒置原则描述的是我们的 class 应该依赖接口和抽象类而不是具体的类和函数。

开闭原则(OCP)是面向对象设计原则的基础也是整个设计的一个终极目标,而依赖倒置原则(DIP )则是实现OCP原则的一个基础,换句话说开闭原则(OCP)是你盖一栋大楼的设计蓝图,那么依赖倒置原则就是盖这栋大楼的一个钢构框架。

https://chinese.freecodecamp.org/news/solid-principles/

2.代码抽象三原则

DRY是 Don't repeat yourself 的缩写,意思是"不要重复自己"。如果多次遇到同样的问题,就应该抽象出一个共同的解决方法,不要重复开发同样的功能。这个原则有时也称为"一次且仅一次"原则(Once and Only Once)。

YAGNI是 You aren't gonna need it 的缩写,意思是"你不会需要它"。它背后的指导思想,就是尽可能快、尽可能简单地让软件运行起来(do the simplest thing that could possibly work)。前者追求"抽象化"(DRY),要求找到通用的解决方法;后者追求"快和省"(YAGNI),

Rule of three 称为"三次原则",指的是当某个功能第三次出现时,才进行"抽象化"。

这样做有如下好处:

(1)省事。如果一种功能只有一到两个地方会用到,就不需要在"抽象化"上面耗费时间了。

(2)容易发现模式。"抽象化"需要找到问题的模式,问题出现的场合越多,就越容易看出模式,从而可以更准确地"抽象化"。

http://www.ruanyifeng.com/blog/2013/01/abstraction_principles.html

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 光城 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.SOLID原则
  • 2.代码抽象三原则
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档