请教将现有的系统改成面向对象的思路我在学面向对象开发,我想把现在的进销存系统改成面向对象的形式,请教各位大侠应该从哪里开始,可否给一个思路呢? 分享到: ------解决方案--------------------第一步将数据库操作全部抽象出来 待完成并通过测试后在说第二步------解决方案--------------------估计你常听到前辈说的一句话――不要为了OO而OO 这是什么意思,就是做OO要有OO的逻辑思维 说些本本以外的东西 人做事离不开时、地、人、物、事(英语所说的五个W一个H) 面向过程其实也是“面向对象”,只不过这个对象是时间,时间在程序中不能抽象出来,所以看上去就是无对象 面向对象就是能把可以抽象出来的东西作为对象 鉴于地、人在工作中大都是无差别的状态(自己想想为什么),所以往往把事、物作为对象 实际中,物(编程中即数据)是变化的,也是生产的目的,把它切分作对象也困难 那么对事切分(简单说就是工序)就成为目前人类思维方式最常见、最可行的――社会分工就是这样产生的 大道理说完了,怎么理解看每个人的思维(不一定人人都相同的) 回到具体的话题 面向对象就是把相同的过程组合成工序,把不同的工序切分为对象,然后再通过设计模式组合工序形成生产线 版主所说――第一步将数据库操作全部抽象出来 就是把数据库读写这道工序抽出来形成一个细化的对象,因为这个在学习面向对象是比较容易入手的 思想上排除形式,把相同的部分写成不变内容 连接、选数据库、发送SQL命令,获取返回――增删改查不是都这样么(相同的过程) 不同的只是什么库,什么命令,什么返回……那么就把不同的部分作为参数或可变属性就行了 类似的还有文件目录处理、格式转换、API等等 其实你熟悉哪个处理过程就可以先拿那个开刀写成类,不一定是数据库,版主说的是泛例,大部分人都是从数据库开始接触类和对象的,因为这个遇到比较多;我本人则是从一段xml格式处理开始接触php类学习的,因为我当年处理XML比较多 javascript/dom对象则是把物(dom元素或另看作文档控件)作为对象,事(event)作为方法的思维 因为javascript多是事件触发,不像php这些有序执行