博客:blog.shinelee.me | 博客园 | 优快云
文章目录
面向过程与面向对象的思考方式
面向过程和面向对象的差异主要体现在思考方式上,面对同样一个任务,
面向过程的思考方式,首先想的是一步步该怎么做,
- 对任务进行分解,先干什么后干什么,划分成不同阶段的子任务
- 对每个阶段的子任务进一步分解,形成函数,根据输入输出将所需数据整理为数据结构
- 将任务串接起来,完成总任务
- 重构,将重复工作抽象成单独的函数
- 复用的单元是函数
面向对象的思考方式,首先想的是任务中利益相关方都有谁,
- 找到任务中的所有利益相关方,并对其归类
- 确定每个利益相关方类别的属性,并划分责任和义务,定义出行为,抽象出类别
- 对类进行实例化,实例间相互协作配合完成任务
- 重构,疏理类别之间的关系,将共有部分抽离成基础类,其他类从基础类继承而来
- 复用的单元是类
如果以开公司为例的话:</