Heim >Backend-Entwicklung >PHP-Tutorial >请教将现有的系统改成面向对象的思路

请教将现有的系统改成面向对象的思路

WBOY
WBOYOriginal
2016-06-23 14:06:27893Durchsuche

我在学面向对象开发,我想把现在的进销存系统改成面向对象的形式,请教各位大侠应该从哪里开始,可否给一个思路呢?


回复讨论(解决方案)

能用则用吧,别瞎折腾了。
要面向对象,直接开发一个新系统吧。

能用则用吧,别瞎折腾了。
要面向对象,直接开发一个新系统吧。

我是在学面向对象的思想,所以用以前做过的系统做练习。

不知道要从哪里开始。请各位给点意见。

第一步将数据库操作全部抽象出来
待完成并通过测试后在说第二步

能用则用吧,别瞎折腾了。
要面向对象,直接开发一个新系统吧。


+1 !

建议楼主把属性方法全列出来,然后就OK了

第一步将数据库操作全部抽象出来
待完成并通过测试后在说第二步

不大明白这么做的作用。为下面设计类做基础吗?

估计你常听到前辈说的一句话??不要为了OO而OO

这是什么意思,就是做OO要有OO的逻辑思维
说些本本以外的东西
人做事离不开时、地、人、物、事(英语所说的五个W一个H)
面向过程其实也是“面向对象”,只不过这个对象是时间,时间在程序中不能抽象出来,所以看上去就是无对象
面向对象就是能把可以抽象出来的东西作为对象
鉴于地、人在工作中大都是无差别的状态(自己想想为什么),所以往往把事、物作为对象

实际中,物(编程中即数据)是变化的,也是生产的目的,把它切分作对象也困难
那么对事切分(简单说就是工序)就成为目前人类思维方式最常见、最可行的??社会分工就是这样产生的
大道理说完了,怎么理解看每个人的思维(不一定人人都相同的)

回到具体的话题
面向对象就是把相同的过程组合成工序,把不同的工序切分为对象,然后再通过设计模式组合工序形成生产线
版主所说??第一步将数据库操作全部抽象出来
就是把数据库读写这道工序抽出来形成一个细化的对象,因为这个在学习面向对象是比较容易入手的
思想上排除形式,把相同的部分写成不变内容
连接、选数据库、发送SQL命令,获取返回??增删改查不是都这样么(相同的过程)
不同的只是什么库,什么命令,什么返回……那么就把不同的部分作为参数或可变属性就行了

类似的还有文件目录处理、格式转换、API等等
其实你熟悉哪个处理过程就可以先拿那个开刀写成类,不一定是数据库,版主说的是泛例,大部分人都是从数据库开始接触类和对象的,因为这个遇到比较多;我本人则是从一段xml格式处理开始接触php类学习的,因为我当年处理XML比较多

javascript/dom对象则是把物(dom元素或另看作文档控件)作为对象,事(event)作为方法的思维
因为javascript多是事件触发,不像php这些有序执行

看起来挺抽象的。不好理解。

其实也很简单
比如你的进销存系统,他是由两大部分组成的:
1、被操作的数据流
2、实现管理的业务逻辑

所以可以用数据库类将数据操作部分抽取出来,无非就是插入、查询、修改、删除。而这些动作是公共的,无论是什么系统都是需要的(进销存系统只需要前两个)


看起来挺抽象的。不好理解。

这个东西一旦用文字描述就抽象了,还是慢慢理解吧,大部分人都免不了花时间的
说的直白点又怕误导了你,我最初的理解就是把一大堆function组合起来,哈哈,这个理解有严重问题,请无视

我还是多看点书和例子吧。理论和实践一起。谢谢各位的解答。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn