从零开始学设计模式第一天之设计模式基本概念

90 阅读4分钟

在我们开发的过程中,我们常说要注重代码质量,那常用的代码评价标准有哪些呢?

常用的代码的评价标准有以下几个:

  • 可维护性:在不破坏原有代码设计、不引入新的bug的情况下,能够快速地修改或者添加代码
  • 可读性:代码是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等等。
  • 可扩展性:容易添加一个新功能
  • 灵活性:代码易扩展、易复用、易用
  • 简洁性:kiss原则,代码简单,清晰
  • 可复用性:尽量减少重复代码的编写,复用已有的代码
  • 可测试性:代码的可测试性反应了代码的质量的好坏

设计模式中重要的概念以及他们的关联性:

  • 面向对象:是主流的编程风格,具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计编码实现的基础
  • 面向对象需要掌握的知识点
  • 面向对象的四大特性:封装、抽象、继承、多态
  • 面向对象编程与面向过程编程的区别和联系
  • 面向对象分析、面向对象设计、面向对象编程
  • 接口和抽象类的区别以及各自的应用场景
  • 基于接口而非编程实现的设计思想
  • 多用组合少用继承的设计思想
  • 面向过程的贫血模型和面向对象的充血模型
  • 设计原则:设计原则是指导我们代码设计的一些经验总结,我们需要知道哪些设计原则能解决哪些编程问题,常用的设计原则有以下:
  • SOLID原则-SRP:单一职责原则
  • SOLID原则-OCP:开放封闭原则
  • SOLID原则-LSP:里式替换原则
  • SOLID原则-ISP:接口隔离原则
  • SOLID原则-DIP:依赖倒置原则
  • DRY原则: dont repeat 不要做重复的事情
  • KISS原则:keep it simple,尽量使得代码简单
  • YAGNI原则:you arent gonna need it,只是着眼必需的功能,不添加认为可能需要的功能
  • LOD法则:类应该减少被外界直接访问的机会,类与类直接避免直接通信
  • 编程规范:主要解决代码的可读性问题
  • 代码重构:软件是不停迭代的,随着需求的变化,就必然会存在问题。针对这些问题,我们需要进行代码重构。持续重构是保持代码质量不下降的有效手段,能够有效避免代码腐化到无可救药的地步
  • 重构需要掌握的知识点
  • 首先,重构需要明白的几点就是:重构的目的(why)、对象(what)、时机(when)、方法(how)
  • 保证重构不出错的技术手段:单元测试和代码的可测试性
  • 两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)

常用的设计模式以及运用设计模式的目的:设计模式是针对软件开发中经常遇到的一些问题,总结出来的一套解决方案或者设计思路。大部分设计模式要解决的都是代码的可扩展性问题。

  • 常用的设计模式的分类
  • 创建型
  • 单例模式、工厂模式、建造者模式
  • 原型模式(不常用)
  • 结构型
  • 代理模式、桥接模式、装饰者模式、适配器模式
  • 门面模式、组合模式、享元模式
  • 行为型
  • 观察者模式、模板模式、策略模式、责任链模式、迭代器模式、状态模式
  • 访问者模式、备忘录模式、命令模式、解释器模式、中介模式

五者之间的联系

  • 面向对象编程因为其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式等编程实现的基础
  • 设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。比如说“开放封闭原则”是很多设计模式(策略,模板等)的指导原则
  • 设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。应用设计模式的主要目的是提高代码的可扩展性
  • 编程规范主要解决代码的可读性问题
  • 重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编程规范这些理论