大家好我是豆豆,从今天开始,我将持续为大家带来设计模式的相关知识,一方面将自己的学习成果积累起来,另一方面将这些知识分享给大家,共同进步。
能否写出一段高质量的代码是衡量一个程序员水平高低的重要因素,因此代码质量的好坏成为了程序员的必修课,那么如何写出一段高质量、可读性强、维护性强、简洁的代码呢,下面跟着豆豆循序渐近开启学习之路吧!
一、代码质量的评价标准
一般来说,一段代码的质量通过以下几个层面去评价,如何编写一段高质量的代码也需要我们开发中时常注意这些标准。
可维护性:一段可维护性强的代码,通常可以在不破坏原有代码、不产生新bug的前提下,能够快速维护迭代就嗲吗以及新增代码;而一段维护性差的代码,会大导致源代码破坏,或者与原代码排斥,导致程序产生新的bug,这也往往是我们最容易犯的一个错误;
可读性:软件开发教父曾经说过这么一句话,任何傻瓜都能写出机器容易读懂的代码,一个优秀的程序员可以写出人类读懂的代码,因此可以看出一段可读性强的代码在我们的日常开发中是多么的重要,我们可以时常检查代码风格和编码规范,时常检查代码片段是否过长等等,尽可能的优化我们的代码;
可扩展性:一段可扩展性强的代码可以在不改变原有代码的基础上,通过扩展的方式进行新增代码,后续学到的代理模式就是很好的体现;
灵活性:添加代码时,原有的代码不受影响,不产生冲突,不排斥,在保证自身不遭到破坏的前提下灵活的接纳新代码;
简洁性:代码的写法应当是别人理解它所需时间的最小化
可复用性:尽量减少重复代码的编写
可测试性:编写的代码可以成功正确的通过单元测试
通过以上的分析不难发现,编写一段好的代码,需要的东西考虑的真的不少呢,下面我们一起看一看编程有哪些方法呢?
二、编程方法论
常见设计原则(详细讲解见后续):
①单一职责原则:一个类只做一件事,而不是不变万能的
②开闭原则:拓展新类,而不是修改旧类
③依赖倒转原则:面向接口编程,而不是面向类
④里氏替换原则:继承父类而不去改变父类
⑤接口隔离原则:各个类建立自己专用接口,而不是万能的
⑥迪米特法则:无需交互两个类,如果需要交互使用中间者
⑦合成复用原则:优先组合,其次继承
提高代码质量的方法论总结
①面向对象的思想(基础)
②设计原则(指导方针)
③设计模式(设计原则的具体实现)
④编程规范(提高代码可读性)
⑤重构(面向对象设计的思想、设计原则、设计模式、编程规范的融合)
三、设计模式概述
1.什么是设计模式
设计模式是一套反复被利用,多少人知晓的、经过分类、代码设计经验的总计,是一种编程思想,世上本没有路走的人多了,便成了路,在程序员的世界中,本没有设计模式,写代码人多了,他们便总结出来一套能提高开发效率的套路,这就是设计模式。
2.设计模式的好处
①学习设计模式可以让你从容的应对面试中设计模式的相关问题;
②可以提高代码质量,不在编写烂代码;
③提高复杂代码的设计能力和开发能力;
④有助于阅读源码,学习框架知识事半功倍
3.设计模式的背景
四、设计模式的分类
大家都知道设计模式有23种,他们各具特色,每一个设计模式可以解决程序中的不同问题,根据他们的用途,可以将设计模式分为三类:创建型模式、结构型模式、行为型模式
1.创建型模式
概述:提供创建对象的机制,提升已有代码的灵活性和可用性
分类:
①单例模式
②工厂方法
③抽象工厂
④原型模式
2.结构型模式:
概述:介绍如何将对象组装成较大的结构,并同时保持结构的灵活和高效
分类:
①代理模式
②桥接模式
③装饰者模式
④适配器模式
⑤外观模式
⑥组合模式
⑦享元模式
3.行为型模式
概述:负责对象间的高效沟通和职责的传递委派
分类:
①观察者模式
②模版方法模式
③策略模式
④责任链模式
⑤迭代器模式
⑥状态模式
⑦访问者模式
⑧备忘录模式
⑨命令模式、解释器模式、中介者模式
后续我将循序渐近的学习每一张设计模式,并将学到的内容分享出来,大家可以持续关注我哦,关注豆豆不迷路,豆豆带你上高速!!!