The very initial purpose of OO
有一个时期,代码复用,用的是跳转,也就是goto,坏处很多,最明显的是
- 不容易流程控制.
- 项目稍微大些,重用难以设计并且代码可读性变差.
- 大项目的难度以指数形式增长.
首先,goto带来的流程不便利是当时最突出的问题,之后的结构化编程诞生则是一种不错的解决办法.
结构化编程:我们有三种代码结构。1.顺序 2.条件 3.循环
结构化编程解决了流程的控制问题,复杂流程的设计和简单数据类型失去了原来的平衡,即便引入了结构体,数据种类的繁多和逻辑的复杂度也让编程难以为继,这里我们应该看到,现在的复杂度已经和goto时期的不一个层次了。是更深远一层的生产关系制约生产力的发展了.
SmallTalk 是第一个尝试把逻辑和数据关联起来的语言,这就是最初的面向对象。从上我们可以看出,数据和逻辑的关联是结构化编程的一种扩展,原初的目的是去解决复杂逻辑对简单数据的失衡。现在让数据变的“智能”化,这样的思路生产并发展了构建复杂系统的最小单元。基于这种特性,这种设计更好的易于描述现实的对象,但并不是说,一切都是对象是我们出发点和动力源,这句话虽然没错,可不会对一个程序员带来多少"正能量“.
The very initial purpose of OO相关推荐
- 星期四定律。散分!_星期四
星期四定律.散分! Zeldman writes about the last few days. My list of people I'm keeping in my prayers grows ...
- 【ABAP妙用】复制ALV之负号提前
场景: 用户一般Ctrl+C复制ALV数据到Excel处理,如果有负数的数值,负号在数值的后面,Excel不认识,要费劲巴拉的一个个改正,苦不堪言! 本程序功能: 在ALV复制数据后,直接更改剪贴板里 ...
- python缓冲区_如何在Python中使用Google的协议缓冲区
python缓冲区 When people who speak different languages get together and talk, they try to use a languag ...
- 分页 pti_计算pti的历史
分页 pti We learn and know (hopefully) a basic history of the world, particularly major events like th ...
- 【八数码问题】基于状态空间法的知识表示与状态搜索:无信息搜索(BFS/DFS) 启发式搜索(A*)
前言 一.问题引入 二.状态空间法 1. 知识及其表示 2. 状态空间法定义 3. 问题求解 三.基于状态空间搜索法解决八数码问题 1. 八数码问题的知识表示 2. 状态空间图搜索 1. 无信息搜索 ...
- 转 ABAP_ALV_Function方式与OO方式(较为简单、普通的ALV)
ABAP_ALV_Function方式与OO方式(较为简单.普通的ALV) 分类: SAP ABAP2013-01-31 09:58 1511人阅读 评论(0) 收藏 举报 目录 一.ALV简介 1. ...
- ABAP_ALV_Function方式与OO方式(较为简单、普通的ALV)
目录 一.ALV简介 1.简介 2.ALV_GRID介绍 3.其它描述 二.开发ALV的基本流程 三.ALV相关开发细节 1.标准ALV与对象ALV的共同开发细节 2.标准ALV开发相关细节 3.对象 ...
- OO ALV简单报表之DOCKING容器实现
OO ALV报表实现 后面再说其他的 由简入繁助于理解 下面介绍一下OO ALV的灵魂 两个类(SE24查看): CL_GUI_ALV_GRID CL_GUI_DOCKING_CONTAINER 介绍 ...
- ABAP ALV OO 自定义Toolbar 和Command及listmenu按钮
ALV OO 自定义Toolbar 和Command及listmenu按钮 前言 OOALV容器 OOALV 工具栏 1.定义OO 对象及字段 2.OO ALV FIELDCAT 字段定义 3.定义类 ...
最新文章
- ps 2c语言程序,C语言基础(二)
- OpenGL Draw TransformFeedback 绘制变换反馈的实例
- 手写ORM入门篇(一)
- Nginx的http块自定义服务日志
- # 遍历结构体_C#学习笔记05--枚举/结构体
- php 数据相加,PHP数组合并之array_merge和数组相加
- mysql elt interval_mysql 区间分组 interval,elt 的运用
- 告别软驱,Win2K3光盘中集成Raid驱动程序
- Apache Kylin在美团数十亿数据OLAP场景下的实践
- [转]Linux下用gcc/g++生成静态库和动态库(Z)
- Map集合的4种遍历方式
- QT5基础教程(介绍,下载,安装,第一个QT程序)
- Win10 微软拼音添加小鹤双拼以及其他配置
- 学妹问我: 如何提高编程能力
- C#--解析DataMatrix二维码
- 深度学习 Day 8——解决GIF生成错误以及有关GAN过程问题
- pnpm install出现:ERR_PNPM_PEER_DEP_ISSUES Unmet peer dependencies
- 如何在linux系统中安装虚拟机?
- 美团外卖红包,商超生鲜红包,饿了么红包天天领,果蔬抢特价,大额满减券,返利优惠券源代码
- flash 外国小游戏教程网站