设计模式

学习设计模式的意义

2020-03-09  本文已影响0人  高大强19


为什么要学习设计模式?

   1应付面试

    2告别令人吐槽的代码

    3提高复杂代码的设计和编写能力

    4让读源码、学框架事半功倍

    5为职场发展做铺垫

从哪些维度评价代码质量

评价带有主观性,也是个综合各种因素得到的结论。

可读性、可维护性、可扩展性 --最重要的3个

灵活性、优雅、简洁 、可复用性、可测试性 等不同维度

如何写出高质量的代码?

掌握更细化、更能落地的编程方法论

包含:面向对象设计思想、设计原则、设计模式、编码规范、重构技巧

面向对象设计思想、设计原则、设计模式、编码规范、重构 五者之间的关系?

面向对象 :

主流编程范式: 面向过程、面向对象、函数式

面向对象编程具有丰富的特性(抽象、封装、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、模式的基础。

7大知识点:

面向对象的四大特性:封装、抽象、继承、多态

面向对象编程与面向过程编程的区别和联系

面向对象分析、面向对象设计、面向对象编程

接口和抽象类的区别以及各自的应用场景

基于接口而非实现编程的设计思想

多用组合少用继承的设计思想

面向过程的贫血模型和面向对象的充血模型

设计原则,S是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。:

SOLID 原则 -SRP 单一职责原则

SOLID 原则 -OCP 开闭原则

SOLID 原则 -LSP 里式替换原则

SOLID 原则 -ISP 接口隔离原则

SOLID 原则 -DIP 依赖倒置原则

DRY 原则、KISS 原则、YAGNI 原则、LOD 法则设计模式

设计模式:针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。经典的23个,随着编程语言的演进,有的反模式,还有新模式诞生。分为三大类:

创建型、

常用的有:单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式。

不常用的有:原型模式。

结构型、

常用的有:代理模式、桥接模式、装饰者模式、适配器模式。

不常用的有:门面模式、组合模式、享元模式。

行为型

常用的有:观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式。

不常用的有:访问者模式、备忘录模式、命令模式、解释器模式、中介模式。

编程规范

编程规范主要解决的是代码的可读性问题。编码规范相对于设计原则、设计模式,更加具体、更加偏重代码细节。

代码重构。作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论。

3w1h,重构的目的(why)、对象(what)、时机(when)、方法(how);

保证重构不出错的技术手段:单元测试和代码的可测试性;

大重构-大规模高层次;小重构-小规模低层次。

实际上,面向对象、设计原则、设计模式、编程规范、代码重构,都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事。当我们看清这个本质之后,很多事情怎么做就清楚了,很多选择怎么选也清楚了。比如,在某个场景下,该不该用这个设计模式,那就看能不能提高代码的可扩展性;要不要重构,那就看重代码是否存在可读、可维护问题等。

上一篇下一篇

猜你喜欢

热点阅读