面向对象设计与设计模式
概述

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

关于面向对象、设计原则、设计模式、编程规范和代码重构,这五者的关系如下

  • 设计原则是指导我们代码设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义
  • 设计模式是对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。应用设计模式的主要目的是提高代码的可扩展性
  • 从抽象程度上来讲,设计原则比设计模式更抽象。设计模式更加具体、更加可执行
  • 编程规范主要解决的是代码的可读性问题。编码规范相对于设计原则、设计模式来说更加具体,更加偏重代码细节,更加能够落实
  • 持续的小重构以来的理论基础主要就是编程规范。重构作为保持代码质量不下降的有效手段,利用的就是面向对象、设计原则、设计模式、编码规范这些理论

实际上,面向对象、设计原则、设计模式、编程规范、代码重构,这五者都是保持或者提高代码质量的方法论,本质上都是服务于编写高质量代码这一件事的。

面向对象

面向对象编程和变相对象编程语言

  • 面向对象编程:OOP,全称是 Object Oriented Programming
  • 面向对象编程语言:OOPL,全称是 Object Oriented Programming Language

面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装抽象继承多态四个特性,作为代码设计和实现的基石。

面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象四大特性(封装抽象继承多态)地编程语言。

  • 面向对象分析:OOA,全称是 Object Oriented Analysis
  • 面向对象设计:OOD,全称是 Object Oriented Design

OOA、OOD、OOP三个连在一起就是面向对象分析、设计、编程(实现),正好是面向对象软件开发要经历的三个阶段。

面向对象编程四大特性

封装

抽象

继承

多态