关于后端:设计模式之-学习设计模式的意义

2次阅读

共计 836 个字符,预计需要花费 3 分钟才能阅读完成。

如果说学习说数据结构和算法是为了写出 高效的代码 ,那学习设计模式就是为了写出 高质量的代码

为什么要学习设计模式的三个理由:
(一)应答面试中的设计模式相干问题
学习设计模式和算法一样,最功利、最间接的目标,可能就是应答面试了
不论是前端工程师、后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比拟高的一类问题。
特地是大厂,常常会拿算法、设计模式之类的问题来考查候选人。
常见的:

1、面向对象的四大个性:封装、形象、继承、多态

2、SOLID 准则?DRY 准则?KISS 准则?YAGNI 准则?LOD 准则?

SOLID 准则并非一个准则。它蕴含:繁多职责准则(SRP)、开闭准则(OCP)、里氏替换准则(LSP)、接口隔离准则(ISP)、依赖倒置准则(DIP)。

DRY 准则:Don’t Repeat Yourself 不要写反复的代码

KISS 准则:Keep It Simple and Stupid. 放弃代码可读和可保护的重要伎俩

YAGNI 准则:You Ain’t Gonna Need It。这条准则的核心思想就是:不要做适度设计。

LOD 准则:Law of Demeter(叫作最小常识准则,英文翻译为:The Least Knowledge Principle)可能实现代码的“高内聚、松耦合”

3、说一下设计模式?你都晓得哪些?

设计模式总共有 23 种,总体来说能够分为三大类:创立型模式(Creational Patterns)、结构型模式(Structural Patterns)和行为型模式(Behavioral Patterns)

(二)进步简单代码的设计和开发能力

能够从以下几个点思考如何设计代码:

如何分层、分模块?

应该怎么划分类?

每个类应该具备哪些属性、办法?

怎么设计类之间的交互?

该用继承还是组合?

该应用接口还是抽象类?

怎么做到解耦、高内聚低耦合?

该用单例模式还是静态方法?

用工厂模式创建对象还是间接 new 进去?

如何防止引入设计模式进步扩展性的同时带来的升高可读性问题?

(三)让读源码、学框架事倍功半

正文完
 0