面向对象与面向过程小结
来源:互联网 发布:美国网站域名后缀 编辑:程序博客网 时间:2024/06/05 08:19
大话设计模式中,讲到了“超模大赛”,“面向对象”先生,一登台就从oo的诞生开始,最后讲到了“面向对象”。接触面向对象有一段时间了,但还没有真正从实践中领悟到他。
下面参照一个经典五子棋例子,认识认识他的........
概述分析:
面向过程:分析出解决问题所需要的步骤,用函数步骤一步一步的实现。
面向对象:建立对象,定义它的责任,履行责任,不是为了完成一个步骤。
实例分析:
五子棋
用面向过程思路:
发问:------“你先告我,步骤是什么?”
1.开始 2.黑棋先走3.记录棋局4.判断胜负5.白棋走6.记录棋局7.判断胜负8.返回步骤2
面向对象思路:
发问----------”你先告我,都有谁啊?从哪里来的?都是干啥的?“
对象1,棋子双方
对象2.棋盘系统,负责记录棋局
对象3.规则系统,负责判定输赢,和监督游戏规则
对象1负责执行用户操作,然后告诉对象2去记录棋局,显示变化;对象3负责游戏中监督,和对棋 局胜负的判断
假如1:加入悔棋功能,对于面向过程,可能会对一连串的步骤进行改动,这就更改了业务流程,需要大规模调整。
对于面向对象,只要将对象2改动就行了,不用担心前后的逻辑判断,改动只是局部的。
这就避免了业务流程的改变,是系统可以扩展。
假如2:改为围棋游戏,面向过程恐怕,要将全部的业务流程进行改变,因为,每一步都有五子棋的身影。
面向对象,则可以只将对象1稍作改动,将对象3的规则进行改动,下棋的大致步骤都没有变 化。
可以看出:
面向对象是以功能划分问题,而不是步骤。
从面向过程到面向对象,其实就是为了应对需求的复杂化。
总结:面向对象中表面看每个步骤中只有一个入口,一个接口,当出现了两个假如时,要不去更改其中一个步骤,但这个步骤可能会关联多少个数据,怎么办?要不就更改整个业务流程,要知道,整个改变流程这会付出很大的代价!而面向对象,将可能的变化封装起来,独善其身,使变化不至于产生太大影响。
- 面向对象与面向过程小结
- 面向过程与面向对象
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象 与 面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向过程与面向对象
- 面向对象与面向过程
- 面向过程与面向对象
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向对象与面向过程
- 面向过程与面向对象
- BDTC2014中国大数据技术大会 会议记录
- C语言大世界—————09指针类型之函数指针+函数别名 福利篇
- 自己写的detab函数
- Linux epoll工作原理
- linux0.11任务切换switch_to
- 面向对象与面向过程小结
- JScrollPane,JTable
- asm磁盘管理
- 第十六周项目2-用指针玩字符串(去除字符串中的特定字符)
- form中的button按钮在IE11中自动提交表单问题导致弹出框关闭之后表单被重置
- 黑马程序员之ios学习总结——12 OC语言的内存管理2
- Convolution Neural Network (CNN) 原理与实现
- 数学有用,有啥用?
- Python正则表达式指南