学了几天java打算编写一个简单的聊天软件来练手。
对于以前习惯了面向过程编写小程序的自己来说,纯OO编程使我无法适应。
写了好几天的文档,总觉得自己理解有问题,原来我把程序模块关系图来做类图的总览图使用了-_-...
所以现在给自己一套临时定下的OO程序设计方法:
<一>程序模块关系图
<二>程序时序图
<三>类关系图
这三种图是不同的,程序模块关系图,是从程序设计者看,程序整体的分布和通联关系,程序时序图,是以时间为序完整而详细描述一次典型的操作;类关系图,是从某个用户角度出发,比如客户机(或者服务器)角度,对对象及其相互关系的完整描述.类型三是真正需要OO设计的地方!
发现自己在处理这个问题上还有逻辑混乱的问题,面向对象设计一定是有自己出发的角度的,离开这个特定的角度,事物的定义就会出问题,比如我是一个校长,我就把学校的人分为老师和学生,房子分办公室宿舍,如果把人分为男女,而房子分办公室宿舍,那就出问题了.
面向对象的却是个比较有意思的东西,到底是先有数据再有操作,还是先有操作再组织数据呢?如果让目前的我给它定义特点,我觉得就是:操作流之上的意识流!