美文网首页设计模式
学习设计模式的意义

学习设计模式的意义

作者: 高大强19 | 来源:发表于2020-03-09 20:24 被阅读0次


    为什么要学习设计模式?

       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);

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

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

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

    相关文章

      网友评论

        本文标题:学习设计模式的意义

        本文链接:https://www.haomeiwen.com/subject/icsmdhtx.html