设计模式之美 - 03

编程方法论:面向对象、设计原则、设计模式、编程规范、重构技巧

一、面向对象(可以看成一种设计思想)

因为面向对象编程具有丰富的特性,可以实现很多复杂的设计思路。所以是很多设计原则、设计模式等编码实现的基础。

面向对象编程中有两个非常重要、非常基础的概念,那就是类(class)和对象(object)。

1、面向对象编程语言 和 面向对象编程 的区别:

  • 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石 。
  • 面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封装、抽象、继承、多态)的编程语言。

2、面向对象编程主要知识点:

  • 面向对象的四大特性:封装、抽象、继承、多态 
  • 面向对象编程与面向过程编程的区别和联系
  • 面向对象分析、面向对象设计、面向对象编程
  • 接口和抽象类的区别以及各自的应用场景
  • 基于接口而非实现编程的设计思想
  • 多用组合少用继承的设计思想
  • 面向过程的贫血模型和面向对象的充血模型

3、面向对象分析,面向对象设计,面向对象编程,正好是面向对象软件开发要经历的三个阶段。

面向对象分析和面向对象设计:就是围绕着对象或类来做需求分析和设计的。

  • 分析:做什么;
  • 设计:怎么做;
  • 编程:将分析和设计的的结果翻译成代码的过程。

二、设计原则

设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。比如,“开闭原则”是很多设计模式(策略、模板等)的指导原则。

常用的几个原则:

  • SOLID 原则 -SRP 单一职责原则
  • SOLID 原则 -OCP 开闭原则
  • SOLID 原则 -LSP 里式替换原则
  • SOLID 原则 -ISP 接口隔离原则
  • SOLID 原则 -DIP 依赖倒置原则
  • DRY 原则、KISS 原则、YAGNI 原则、LOD 法则

 

三、设计模式

大部分设计模式要解决的都是代码的可扩展性问题。是软件开发过程中设计问题的解决方案或者设计思路。相比于设计原则更为具体。

经典的设计模式有 23 种,这些设计模式可以分为三大类:

1、创建型 :主要解决“对象的创建”问题

常用的有:

  1. 单例模式
  2. 工厂模式(工厂方法和抽象工厂)
  3. 建造者模式

不常用的有:

  1. 原型模式。

2、结构型:主要解决“类或对象的组合或组装”问题

常用的有:

  1. 代理模式
  2. 桥接模式
  3. 装饰者模式
  4. 适配器模式

不常用的有:

  1. 门面模式
  2. 组合模式
  3. 享元模式

3、行为型:主要解决的就是“类或对象之间的交互”问题

常用的有:

  1. 观察者模式
  2. 模板模式
  3. 策略模式
  4. 职责链模式
  5. 迭代器模式
  6. 状态模式

不常用的有:

  1. 访问者模式
  2. 备忘录模式
  3. 命令模式
  4. 解释器模式
  5. 中介模式

 

四、代码重构

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

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

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

3、两种不同规模的重构:大重构(大规模高层次)和小重构(小规模低层次)。

 

五、编程规范

代码实现的小细节。

 

设计模式之美笔记 - 学习框架

 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-14
猜你喜欢
  • 2021-12-27
  • 2021-10-20
  • 2021-05-26
  • 2021-09-21
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案