面象对象的系统设计之二(进销存)

主题:面象对象的系统设计之二
主持:西门春雪
时间:2005-05-20 16:00

2005-05-20 15:52:58 西门春雪(43031898)
好了。忙完了。接着上次的讲

2005-05-20 15:54:46 西门春雪(43031898)
我们用进销存来做例子吧,一般人都会有做过或是相似的,讲起来容易些

2005-05-20 15:56:45 西门春雪(43031898)
上次,我们已经有了三个对象,客户、维修单、大型机。接着确定其它的对象

2005-05-20 15:57:34 西门春雪(43031898)
这些系统,是最基本的对象,是具体处理业务中最基层的对象。

2005-05-20 15:58:37 西门春雪(43031898)
以依进销存为例,我们很容易的定义这些对象:客户、供应商、商品、各种单据等。

2005-05-20 15:58:49 西门春雪(43031898)
先具体说说客户与供应商

2005-05-20 15:59:45 西门春雪(43031898)
一般的进销存系统,都会有客户与供应商这两个概念。但实际中,可能客户既是供应商,供应商又可能是客户。

2005-05-20 16:00:26 西门春雪(43031898)
所以,讲客户与供应商分得这么清楚,是不明智的。

2005-05-20 16:01:34 西门春雪(43031898)
客户与供应商实际上就可以只划分为一个对象

2005-05-20 16:02:17 西门春雪(43031898)
怎么定义这个对象呢?

2005-05-20 16:03:18 西门春雪(43031898)
大家都知道,客户是我们出售商品给他们,供应商我们需要向他们购入商品或是原材料

2005-05-20 16:04:06 西门春雪(43031898)
客户与供应商是这样一种群体,我们与他们进行商品交易的群体。

2005-05-20 16:05:28 西门春雪(43031898)
好,我们来定义这个群体。

2005-05-20 16:06:21 西门春雪(43031898)
属性,属性非常好定义。名称、联系地址、银行帐号等等。

2005-05-20 16:07:05 Chester(59552649)
西门春雪(43031898) 16:06:21
属性,属性非常好定义。名称、联系地址、银行帐号等等。

这些是不是要供应商和客户共同的

2005-05-20 16:07:30 西门春雪(43031898)
进销存说到底,就是已方与外方来进行交易。外方可以是客户,可以是供应商。

2005-05-20 16:07:43 西门春雪(43031898)
2005-05-20 16:07:05 Chester(59552649)
西门春雪(43031898) 16:06:21
属性,属性非常好定义。名称、联系地址、银行帐号等等。

这些是不是要供应商和客户共同的
---------------------------

这些都是公用的

2005-05-20 16:08:30 Chester(59552649)
那类的函数要怎样定义呢?

2005-05-20 16:08:35 西门春雪(43031898)
我们赚外方的钱,外方也赚我们的钱。就好象,我们赚客户的钱,但供应商赚我们的钱。

2005-05-20 16:08:58 Chester(59552649)
是不是写新增,保存这些呢?
 

2005-05-20 16:09:07 西门春雪(43031898)
也就是说,对于客户和供应商我们有货品的交易,有资金的交易

2005-05-20 16:09:18 西门春雪(43031898)
等等,我说完后才说吧。

2005-05-20 16:09:23 僵哥/zt(83039548)
[:L]麻烦先表插话,做好记录,讲完再提问

2005-05-20 16:11:04 西门春雪(43031898)
打个比方,已方是A,所有的客户和供应商我们全称为B。
首先,B是一个大的群体,我们从基类设计。

2005-05-20 16:11:49 西门春雪(43031898)
基类可以确定B的属性是它的名称,或是还有ID吧。基

2005-05-20 16:15:31 西门春雪(43031898)
好,我们来说说他应有的方法。

2005-05-20 16:15:54 阿凯(83851905)
和我做得一样啊,呵呵

2005-05-20 16:17:07 西门春雪(43031898)
先说,供应商应有的方法。我们从供应商购入商品,对应于供应商也就是出售商品。也就是说,供应商应该有一个出货的方法。

2005-05-20 16:17:43 西门春雪(43031898)
这个出货的方法,表现在现实话,可能就是你收到了对方的出货单

2005-05-20 16:18:08 西门春雪(43031898)
客户,就是收货了。不多说了。

2005-05-20 16:18:39 西门春雪(43031898)
先打住这里,后面还有详细的说。

2005-05-20 16:19:02 西门春雪(43031898)
再来我们定义商品。

2005-05-20 16:20:35 西门春雪(43031898)
不用多说,都会。呵呵。
我们一步步的定义业务处理当种,各种要处理的最最基本的对象。
单据上次说过了,这也不说了。

2005-05-20 16:21:44 西门春雪(43031898)
当基本的对象定义下来以后,我们现在就要处理具体的业务了。也就是说,业务逻辑了

2005-05-20 16:22:13 西门春雪(43031898)
我们先来看看,第一个业务过程,采购过程。

2005-05-20 16:22:50 西门春雪(43031898)
看字面大家都知道,采购过程是一个过程,也就是说,在现实生活中,我们是看不见摸不着的。

2005-05-20 16:23:03 西门春雪(43031898)
但是,在这里我们会把它定义为一个对象。

2005-05-20 16:24:55 西门春雪(43031898)
我们用一个对象,来表现这个采购的过程。而这个过程,就是已方与外方的一个交易的过程。这个交易过程,包含两个方面,一个货品的交易,一个是资金的交易。当两个交易都顺利完成以后,这个采购过程也就顺利结束了。

2005-05-20 16:26:25 西门春雪(43031898)
定义这个采购过程的属性
ID,表示这个采购过程
状态,这个过程的状态,比如是采购货没到,已收到未付款,甚至款已付货没到等等。

2005-05-20 16:27:52 西门春雪(43031898)
让我们分析这个采购过程,在这个采购过程中,会有多少个对象参与进来呢?

2005-05-20 16:28:53 B6.银狼(43225570)
采购,己方和外方

2005-05-20 16:29:18 D1.jackey(409485288)
那是actor

2005-05-20 16:30:02 西门春雪(43031898)
1,我们向那方采购。好,通俗点讲就是供应商了。
2,商品。商品本来是在供应商那里现在要到我这里了(ERP系统中,这里还会处理物流方面)
3,资金。已方需要给钱对方
 

2005-05-20 16:31:26 僵哥/zt(83039548)
这样子,那么采购就不是一个单独的对象了

2005-05-20 16:31:36 僵哥/zt(83039548)
而应该是从属于己方了

2005-05-20 16:31:54 僵哥/zt(83039548)
如果是一个独立对象来说就至少是四个对象

2005-05-20 16:32:00 西门春雪(43031898)
4,各种单据。比如:对方的出货确认单、已方的采购单、已方的入库单、已方的财务单据
 

2005-05-20 16:32:23 僵哥/zt(83039548)
交易双方+货物+资金,而单据是附属于采购的

2005-05-20 16:32:47 西门春雪(43031898)
那么,前三种就是要具体参与进来的对象。
最后一种则就是记录这次交易过程的详细凭证

2005-05-20 16:33:33 西门春雪(43031898)
好,看看方法。

2005-05-20 16:34:11 西门春雪(43031898)
首先,我打个电话给供应商。说我要一批商品,请发货过来。这个时候,这个采购的过程就开始了。

2005-05-20 16:34:35 僵哥/zt(83039548)
不下采购单?

2005-05-20 16:34:53 西门春雪(43031898)
不下采购单?

大型ERP才有。

2005-05-20 16:34:59 F2.歪歪宝(343349861)
应该是可下可不下

2005-05-20 16:35:13 sooven/:)(2966030)
僵哥,还是先听,听完再问吧。

2005-05-20 16:35:13 僵哥/zt(83039548)
那么如果出现责任呢?

2005-05-20 16:35:14 西门春雪(43031898)
如果真要考虑这么多,这也是在一个采购过程中。

2005-05-20 16:36:17 西门春雪(43031898)
我只是以进销存打个比方

2005-05-20 16:36:36 僵哥/zt(83039548)
OK,继续,偶听完先

2005-05-20 16:37:15 西门春雪(43031898)
首先,我打个电话给供应商。说我要一批商品,请发货过来。这个时候,这个采购的过程就开始了。

等商品到了。就表示我们收到货了。那么这个采购过程,应该有一个状态,就是货已收到,并且其状态也要相应的改变
 

2005-05-20 16:39:00 西门春雪(43031898)
这个时候,我们的采购单要记录,我们已收到这批商品。如果还有仓库管理部分,当入库以后,还应有入库单的输入,此时,状态是,已收货已入库。

2005-05-20 16:39:59 西门春雪(43031898)
入库并不是仓库的方法,呵,仓库只有保存货品的方法。入库是外部因素激发的。

2005-05-20 16:41:27 西门春雪(43031898)
我们用采购单、入库单记录了货品的收货与入库。

当我们付对方现金的时候,对方收到以后(财务),那么这个采购过程就会完成了。

2005-05-20 16:44:20 西门春雪(43031898)
那么我们定义这个对象的时候就应该是这样了。

class 采购过程
{
  属性:
    各单据对象
    供应商
    商品
  方法:
    已收
    入库
    付资金
}

2005-05-20 16:45:17 西门春雪(43031898)
这里简化一下,大家要注意。

入库,已收货品,付资金是这个过程的方法。不是其它的对象的方法。也就是说,没有这个过程,就不会有这个方法的存在。
 

2005-05-20 16:46:09 西门春雪(43031898)
只有这个过程被触发了,那么才可以入库,才可以付出资金。


2005-05-20 16:47:04 B6.银狼(43225570)
有问题

2005-05-20 16:47:14 西门春雪(43031898)
呵,我知道,可能每个人的想法都是不同的。以上纯属个人看法。。。

2005-05-20 16:47:48 西门春雪(43031898)
有什么问题,大家先说说。如果这里通不过,后面的就不用讲啦。。

2005-05-20 16:48:01 B6.银狼(43225570)
如果这个过程要过几天才能完成,那么这个过程的状态要从数据库中读取的么?

2005-05-20 16:48:22 Chester(59552649)
这个过程的状态要从数据库中读取的么?

要怎样读

2005-05-20 16:49:03 B6.银狼(43225570)
读取可能就是个查询了,但不知道这样做对否

2005-05-20 16:49:04 西门春雪(43031898)
如果这个过程要过几天才能完成,那么这个过程的状态要从数据库中读取的么?
Chester(59552649) 16:48:22
这个过程的状态要从数据库中读取的么?
要怎样读

还没到那里,现在不要老想着数据库

2005-05-20 16:49:25 僵哥/zt(83039548)
偶觉得一个采购过程应该就是一张采购单的生命周期

2005-05-20 16:49:42 僵哥/zt(83039548)
即使是不下实单,而使用的电话采购

2005-05-20 16:49:46 西门春雪(43031898)
如果现在就开始想数据库,那就没什么面向对象了。拖几个控件算了

2005-05-20 16:49:50 僵哥/zt(83039548)
那么在己方应该还是有记录的

2005-05-20 16:50:21 僵哥/zt(83039548)
这样的话,只要这一张采购单的生命周期未结果

2005-05-20 16:50:24 西门春雪(43031898)
即使是不下实单,而使用的电话采购

说明采购已开始
 

2005-05-20 16:50:30 僵哥/zt(83039548)
不管这个采购过程有多久

2005-05-20 16:50:40 西门春雪(43031898)
这样的话,只要这一张采购单的生命周期未结果

有个方法,表示已方取消采购
 

2005-05-20 16:50:44 僵哥/zt(83039548)
都是可查核的

2005-05-20 16:50:51 西门春雪(43031898)
不管这个采购过程有多久

你不取消,一直都是采购状态
 

2005-05-20 16:50:57 B1.斜阳(249208513)
先把你的类设计好,至于如何持久化类的信息,可以使用很多方法

2005-05-20 16:51:08 西门春雪(43031898)
先把你的类设计好,至于如何持久化类的信息,可以使用很多方法

是的了

2005-05-20 16:51:22 B6.银狼(43225570)
这样啊,明了

2005-05-20 16:51:37 B1.斜阳(249208513)
最简单的,没准你的软件是全天候24小时工作的呢?都在内存中[:D]

2005-05-20 16:51:38 Chester(59552649)
还是不明白

2005-05-20 16:51:43 西门春雪(43031898)
偶觉得一个采购过程应该就是一张采购单的生命周期

采购不能用采购单而决定
 

2005-05-20 16:51:45 僵哥/zt(83039548)
所以偶觉得在讲解采购时,应该不可以忽略采购单

2005-05-20 16:52:22 僵哥/zt(83039548)
因为你下达了采购命令之后

2005-05-20 16:52:25 僵哥/zt(83039548)
肯定需要记录

2005-05-20 16:52:26 B1.斜阳(249208513)
采购单的目的是什么呢?

2005-05-20 16:52:30 西门春雪(43031898)
所以偶觉得在讲解采购时,应该不可以忽略采购单

采购单是保存采购过程中的交易信息。你如果在这个采购过程中,不要采购单的记录也是你的事情。。

2005-05-20 16:52:30 僵哥/zt(83039548)
不管是何种方式

2005-05-20 16:52:36 僵哥/zt(83039548)
都可以视之为采购单

2005-05-20 16:53:45 僵哥/zt(83039548)
另外在进销存当中对于资金来说应该只产生单据,而并不涉及资金交易

2005-05-20 16:53:54 西门春雪(43031898)
在这里,采购单不是一个主要对象。采购的过程中,采购单只是一个辅助记录的对象。商品的入库,资金的交付,只是用单据来进行记录。单据并不是主要对象

2005-05-20 16:53:55 僵哥/zt(83039548)
否则的话就会牵出银行之类的

2005-05-20 16:54:42 僵哥/zt(83039548)
是的,采购单不是采购对象,只是用来记录的

2005-05-20 16:54:52 B1.斜阳(249208513)
我们是在交易商品,不是在来回传递采购单啊

2005-05-20 16:54:57 僵哥/zt(83039548)
也就是说采购对象的生命周期应该是同采购单是同步的

2005-05-20 16:55:03 西门春雪(43031898)
否则的话就会牵出银行之类的

当这个过程完成后,应该更新供应商的银行余额

2005-05-20 16:55:31 僵哥/zt(83039548)
[:L]不好意思,偶的出发点不在于程序的操控

2005-05-20 16:56:11 僵哥/zt(83039548)
因为不仅有现金还有各种票据

2005-05-20 16:56:34 僵哥/zt(83039548)
所以说偶认为在这里只产生单据比较好点

2005-05-20 16:57:35 僵哥/zt(83039548)
偶问题就这些

2005-05-20 16:57:48 西门春雪(43031898)
呵呵,不大明白。。。。

 

2005-05-20 16:58:08 B1.斜阳(249208513)
单据这个问题应该和应用的环境有关

2005-05-20 16:58:11 僵哥/zt(83039548)
比如A向B买10000WKG货物

2005-05-20 16:58:24 僵哥/zt(83039548)
那么可能需要有一个是预付款

2005-05-20 16:58:42 僵哥/zt(83039548)
假设货物一次交清好了

2005-05-20 16:59:04 B1.斜阳(249208513)
就如同在没有网络和电话的时候,两个异地的人想通讯,只能靠信件,信件是一种通讯的单据,但是到了QQ上,基本上就不用信件这个单据了

2005-05-20 16:59:12 僵哥/zt(83039548)
而现在货款是100W预付20W

2005-05-20 16:59:26 僵哥/zt(83039548)
而现金不可能一次付清对不

2005-05-20 16:59:36 僵哥/zt(83039548)
可能现金付了30W

2005-05-20 16:59:45 僵哥/zt(83039548)
另外还有50W用支票

2005-05-20 16:59:58 西门春雪(43031898)
继续

2005-05-20 17:00:07 僵哥/zt(83039548)
这时候因为是分次付款

2005-05-20 17:00:35 僵哥/zt(83039548)
那么如果完全操作银行来说就会比较复杂

2005-05-20 17:00:45 E2.D10是我师父(68280274)
这节课的记录会放在哪儿?

2005-05-20 17:00:49 僵哥/zt(83039548)
而假设只是产生单据

2005-05-20 17:01:01 僵哥/zt(83039548)
也就是应付和付款单

2005-05-20 17:01:12 僵哥/zt(83039548)
那么是否就显得比较容易操作

2005-05-20 17:01:17 僵哥/zt(83039548)
Over

2005-05-20 17:01:51 西门春雪(43031898)
另外还有50W用支票

是吧?
 

2005-05-20 17:01:55 僵哥/zt(83039548)

2005-05-20 17:02:05 西门春雪(43031898)
现实中要入银行帐号吧?

2005-05-20 17:02:26 僵哥/zt(83039548)
支票肯定要通过银行

2005-05-20 17:02:41 僵哥/zt(83039548)
但是现金可能就不会马上对现银行

2005-05-20 17:02:49 僵哥/zt(83039548)
而可能是公司的暂时流通资金

2005-05-20 17:02:50 Chester(59552649)
这些没有必要讨论,
西门春雪,继续

2005-05-20 17:02:57 西门春雪(43031898)
那么,我一段时间如果查的话,我就只能查到那两张单据,而不会知道,在这个交易的过程,对方先付了支票

2005-05-20 17:03:51 僵哥/zt(83039548)
先付的不管,因为预付款肯定在立采购单时就需要产生该采购单相对应的付款单

2005-05-20 17:04:03 僵哥/zt(83039548)
即预付款

2005-05-20 17:05:30 僵哥/zt(83039548)
[:L]偶问题是不是有点不及题?

2005-05-20 17:05:39 僵哥/zt(83039548)
若是,那偶就不提了

2005-05-20 17:05:49 西门春雪(43031898)
我只是想说,这是一个过程。在这个过程你可以考虑很多东西。比如采购订单,采购预付,采购订单确认(就是报批),物流,欠款。

如果一天采购双方的,比如货品没有发足,或是资金没有完全支付,那么这个过程就会一直持续下去。

2005-05-20 17:06:02 C3.MUSIC(281361369)
有点

2005-05-20 17:06:12 西门春雪(43031898)
不管,你是银行支票,还是欠着,这个过程都是没有完成的。

2005-05-20 17:07:20 C3.MUSIC(281361369)
僵哥说的好象有点进入细节当中了

2005-05-20 17:08:32 僵哥/zt(83039548)
继续

2005-05-20 17:09:39 Chester(59552649)
西门春雪:有没有这个例子,我想看一下例子,不然这样讲我听都不明白

2005-05-20 17:10:10 僵哥/zt(83039548)
[:L]业务流程课,最好不要总往程序想

2005-05-20 17:10:29 僵哥/zt(83039548)
先了解过程,而不要同时考虑程序能否实现

2005-05-20 17:10:37 僵哥/zt(83039548)
更不能考虑你现在能不能实现

2005-05-20 17:10:39 F2.歪歪宝(343349861)
老师继续吧

2005-05-20 17:10:49 西门春雪(43031898)
==,接个电话

2005-05-20 17:10:58 C3.MUSIC(281361369)
对呀,现在要考虑的只是要实现什么功能

2005-05-20 17:11:09 C3.MUSIC(281361369)
那些都是下一步的工作

2005-05-20 17:11:44 僵哥/zt(83039548)
从自己所能考虑到的实际当中的交易出发

2005-05-20 17:11:54 僵哥/zt(83039548)
这样子可能比较容易理解

2005-05-20 17:12:09 西门春雪(43031898)
好,采购的过程定义了,那么你有多少种业务过程,你就定义多少种这样的对象。将最底层的对象的有机的联系起来。象这样,你就要定义采购过程与销售过程了。

2005-05-20 17:14:35 西门春雪(43031898)
进销存,没有太过麻烦的业务处理。定义采购业务与销售业务就足够了。如果还有其它的业务处理,比如有些人所说的炒货什么的,万变不离其宗。

2005-05-20 17:15:21 C3.MUSIC(281361369)
[strong]

2005-05-20 17:15:32 西门春雪(43031898)
这些业务过程对象,你可以从一个基类派生下来,甚至可以做到用户自定义,让用户有新的业务过程要处理时,可以确定他的商品流向,以及资金流向。

2005-05-20 17:17:16 西门春雪(43031898)
过程对象处理时,会一级一级的触发那些基本对象,比如,更新仓库库存,更新客户或供应商余额。

2005-05-20 17:17:53 西门春雪(43031898)
最后,用单据的记录功能,记录在案

2005-05-20 17:19:03 西门春雪(43031898)
所以说,这样子分析,业务逻辑会变的非常之简单。业务过程中参与过来的对象会依时更新其在这个过程中需要进行的动作。

2005-05-20 17:20:12 珍爱自己/tp(327602065)
[strong]

2005-05-20 17:20:39 F3.♂沙漠王子(14229762)
[<L>]

2005-05-20 17:20:47 珍爱自己/tp(327602065)
[love]

2005-05-20 17:20:50 西门春雪(43031898)
好。今天就到这里了吧。最后将数据库方面的。

---------------------------完-------------------------
2005-05-20 17:21:03 F5.贴心男儿(102577650)
爱死你啦

2005-05-20 17:21:03 僵哥/zt(83039548)
[:D]偶觉得在讲这个过程的时候,还是让大家脱离程序比较好点

2005-05-20 17:21:04 珍爱自己/tp(327602065)
什么时候讲啊?

2005-05-20 17:21:08 西门春雪(43031898)
下星期五

2005-05-20 17:21:16 C3.MUSIC(281361369)
别呀

2005-05-20 17:21:21 C3.MUSIC(281361369)
下星期五我有事

2005-05-20 17:21:22 珍爱自己/tp(327602065)
每星期五都讲啊?

2005-05-20 17:21:28 F5.贴心男儿(102577650)
上次的讲座谁有啊

2005-05-20 17:21:43 僵哥/zt(83039548)
对了,能不能大致提一下上次讲的内容

2005-05-20 17:21:50 僵哥/zt(83039548)
给个小提纲

2005-05-20 17:21:59 F5.贴心男儿(102577650)
上次有没有保存啊

2005-05-20 17:22:01 西门春雪(43031898)
有什么好的建议,大家提提看。自己的想法,可能大家会有更好的想法。

2005-05-20 17:22:35 西门春雪(43031898)
上次是些基本的东西,好象D10有存吧

2005-05-20 17:22:36 僵哥/zt(83039548)
[:-|]问个私人问题可以不?在哪公司上班,做啥系统

2005-05-20 17:23:11 F5.贴心男儿(102577650)
D10,在吗?

2005-05-20 17:23:12 西门春雪(43031898)
呵呵。小公司,小系统

2005-05-20 17:23:13 C3.MUSIC(281361369)
西门老师讲课非常棒,条理非常清楚,并且不会受外界内容的影响

2005-05-20 17:23:24 僵哥/zt(83039548)
[:|]那么神秘

2005-05-20 17:23:30 F3.♂沙漠王子(14229762)
[strong]

2005-05-20 17:23:32 西门春雪(43031898)
不敢。。抬举我了

2005-05-20 17:23:39 C3.MUSIC(281361369)
真的哟

2005-05-20 17:23:48 C3.MUSIC(281361369)
就是说条理清楚,中心明确

2005-05-20 17:24:01 西门春雪(43031898)
听的明就行了。

2005-05-20 17:24:10 F3.♂沙漠王子(14229762)
论点强劲,论据充分

2005-05-20 17:24:16 僵哥/zt(83039548)
[:D]接下来会讲MRP2么?

2005-05-20 17:24:20 西门春雪(43031898)
也不敢将自己的思想强加到别人身上。

2005-05-20 17:24:35 F3.♂沙漠王子(14229762)
[;f]

2005-05-20 17:24:53 F3.♂沙漠王子(14229762)
我正欲求你的思想而不得呢

2005-05-20 17:24:54 西门春雪(43031898)
接下来会讲MRP2么?

看何时了。。呵

2005-05-20 17:25:02 僵哥/zt(83039548)
[:L]

2005-05-20 17:25:12 F5.贴心男儿(102577650)
今天学到不少

2005-05-20 17:25:13 西门春雪(43031898)
互相学习就是了

2005-05-20 17:25:14 C3.MUSIC(281361369)
西门老师,不要下星期五讲了

2005-05-20 17:25:43 C3.MUSIC(281361369)
我真的有事,改成星期二可以吗?

2005-05-20 17:25:43 F2.歪歪宝(343349861)
why

2005-05-20 17:25:58 西门春雪(43031898)
看D10安排吧

2005-05-20 17:26:11 僵哥/zt(83039548)
[;d]不要强人所难吗,你有事,那也得考虑人家不是么?

2005-05-20 17:26:15 珍爱自己/tp(327602065)
星期五\星期六讲晚上讲比较好,那时我一定有空

2005-05-20 17:26:34 僵哥/zt(83039548)
[:L]晚上人家得休息

2005-05-20 17:26:37 B13.往生无语(1080204)
老师没有空。。。
嘎嘎

2005-05-20 17:26:41 僵哥/zt(83039548)
再说还在陪……

2005-05-20 17:26:56 珍爱自己/tp(327602065)
[:-|]

2005-05-20 17:27:06 Chester(59552649)
虽然知道一点点
我对面向对象程序设计还是不太明白
要怎样把各个业务实现到类当中.
 

2005-05-20 17:27:07 F3.♂沙漠王子(14229762)
我随时恭候

2005-05-20 17:27:43 僵哥/zt(83039548)
[:D]偶觉得对于业务逻辑的了解比Delphi基础更重要

2005-05-20 17:27:58 僵哥/zt(83039548)
除非还是学生[:X]

2005-05-20 17:28:01 C3.MUSIC(281361369)

2005-05-20 17:28:35 僵哥/zt(83039548)
因为今天用的是Delphi,明天就未必了

2005-05-20 17:28:53 僵哥/zt(83039548)
对于开发语言只要能用得上就成

2005-05-20 17:29:08 B13.往生无语(1080204)
呵呵。我可以这么锁

2005-05-20 17:29:11 B13.往生无语(1080204)
说。。

2005-05-20 17:29:27 Chester(59552649)
这个当然知道
但是知道业务逻辑,但是不知道怎样实现,那也没有用的

2005-05-20 17:29:29 僵哥/zt(83039548)
你熟业务逻辑,那么,你不会写程序没关系,可以让人家写

2005-05-20 17:29:32 B13.往生无语(1080204)
今天可以开发这个。明天就开发那个了。。

2005-05-20 17:29:33 E5.加菲猫(10565616)
那是学生怎么办啊

2005-05-20 17:29:33 B13.往生无语(1080204)
呵呵

2005-05-20 17:29:40 B13.往生无语(1080204)
思路最重要

2005-05-20 17:29:48 僵哥/zt(83039548)
毕竟客户认的是软件以及你的管理技术,而非程序

2005-05-20 17:29:49 C3.MUSIC(281361369)
思路最重要 [v]

2005-05-20 17:30:56 僵哥/zt(83039548)
对软件在实际当中的应用越清晰,那么你的思路就越清晰

2005-05-20 17:31:16 僵哥/zt(83039548)
那么你对于实现自己思路的能力也就越强

2005-05-20 17:31:25 Chester(59552649)
象我刚开始学面向对象,感觉有个实例学一下
然后在学这些思路,感觉会更快.
 

2005-05-20 17:31:29 僵哥/zt(83039548)
这就是为什么企业招人需要经验的原因

2005-05-20 17:31:32 E5.加菲猫(10565616)
那是不是要经过大量的练习才可以。

2005-05-20 17:31:53 僵哥/zt(83039548)
实践跟练习有一点差别就是

2005-05-20 17:31:57 僵哥/zt(83039548)
练习没有压力

2005-05-20 17:32:05 C3.MUSIC(281361369)
我现在就是写程序没有整体感觉

2005-05-20 17:32:07 僵哥/zt(83039548)
也就没有责任

2005-05-20 17:32:17 Chester(59552649)
僵哥:你能不能把今天讲的思路,简单做一个让我学习一下
 

2005-05-20 17:32:24 E5.加菲猫(10565616)
那就是要多实践了,可我们这那有这样的机会啊!

2005-05-20 17:32:39 僵哥/zt(83039548)
早说了,不要总往程序去想

2005-05-20 17:32:39 D1.jackey(409485288)
C3.MUSIC(281361369) 17:32:05
我现在就是写程序没有整体感觉 =>写程序不用,作设计才用

2005-05-20 17:32:45 Chester(59552649)
我只有用到窗体继承的.其他都不懂

2005-05-20 17:33:22 僵哥/zt(83039548)
越是往程序里面钻,你就越会觉得,可能在他讲的这个过程当中你可能某些实现不了

2005-05-20 17:33:33 僵哥/zt(83039548)
那么接下来的东西,你也就很难跟得上

2005-05-20 17:33:33 C3.MUSIC(281361369)
不是吧,实现代码时没有整体感觉,也不行呀,随着需求的不断变化,如果没有整体感觉,程序也会感觉越来越乱的呀,我现在就是这样

2005-05-20 17:33:46 B13.往生无语(1080204)
我也是哈哈

 

2005-05-20 17:33:57 B13.往生无语(1080204)
同病啊。。相连

2005-05-20 17:34:18 C3.MUSIC(281361369)
所以,我现在一直想学点程序框架设计的东西

2005-05-20 17:34:20 D1.jackey(409485288)
coding与design是两回事.[:)]

2005-05-20 17:34:29 Chester(59552649)
僵哥[pig](83039548) 17:32:39
早说了,不要总往程序去想

这个我知道
可是今天这个流程我都知道,但就象你所说的,程序不知道怎样去实现.所以还是面向对象很模糊

2005-05-20 17:34:33 C3.MUSIC(281361369)
可是又找不到好的资料或书

2005-05-20 17:34:36 僵哥/zt(83039548)
不要纯做Coding

2005-05-20 17:34:44 赤无极(172904741)
Me too
我现在是写了后面就忘了前面

2005-05-20 17:34:48 僵哥/zt(83039548)
也不就总把自己往Coding上面摆

2005-05-20 17:35:30 C3.MUSIC(281361369)
所以我想学点系统设计相关的东西,可是就是找不到相关的资料,谁帮我一下

2005-05-20 17:35:57 僵哥/zt(83039548)
如果人家一个设计,就那么一点点错,而你写得几百万行代码都很优秀,那么你还是会因为他的更正而可能需要重写

2005-05-20 17:35:59 C3.MUSIC(281361369)
哪怕不写代码,只写设计,我现在只要搞一个好的设计,因为这方面我现在感觉我很差的

2005-05-20 17:36:18 E5.加菲猫(10565616)
可以去那人家的自己修改吗?

2005-05-20 17:36:24 Chester(59552649)
我今天买了刘艺的<设计模式>
和李维的<面向对象实践>

2005-05-20 17:36:27 C3.MUSIC(281361369)
对,僵哥说的非常对,所以起决定作用的是设计而不是代码

2005-05-20 17:36:48 僵哥/zt(83039548)
所以,就算是你上司给你东西,那么你也得需要考虑清楚

2005-05-20 17:36:50 C3.MUSIC(281361369)
所以我就想学点设计

2005-05-20 17:36:53 僵哥/zt(83039548)
而不是拿着就要去写

2005-05-20 17:36:57 B13.往生无语(1080204)
相辅相成把

2005-05-20 17:37:19 C3.MUSIC(281361369)
然而现在有一个矛盾,就是要软件的人一般都急于要看结果

2005-05-20 17:37:21 B13.往生无语(1080204)
呵呵。我现在就是明知是错。也要写。。。。

2005-05-20 17:37:22 僵哥/zt(83039548)
有什么疑问就要立马提出。不过千万不能不提出来,而自己做主

2005-05-20 17:37:33 僵哥/zt(83039548)
那就会造成大错

2005-05-20 17:37:45 僵哥/zt(83039548)
一个的人思维,毕竟是有限的

2005-05-20 17:38:05 僵哥/zt(83039548)
有时候是需要写的

2005-05-20 17:38:27 僵哥/zt(83039548)
但是你在写的过程当中可能没有很好的办法去避免,没关系,但你千万要记住

2005-05-20 17:38:38 僵哥/zt(83039548)
后续的时候你就可以提出来问题来了

2005-05-20 17:38:51 僵哥/zt(83039548)
甚至也可以在某个时候会想到一种解决方案

2005-05-20 17:39:00 C3.MUSIC(281361369)
我现在一般都是一个人给别人写程序,可是我的设计跟不上,程序越大,脑子越乱,非常苦恼呀,我该怎么办?

2005-05-20 17:39:05 僵哥/zt(83039548)
要不然就没有进步,软件也没有了升级

2005-05-20 17:39:20 僵哥/zt(83039548)
模块化

2005-05-20 17:39:30 僵哥/zt(83039548)
尽可能将程序模块化

2005-05-20 17:39:46 僵哥/zt(83039548)
有时候可以牺牲点速度

2005-05-20 17:39:49 C3.MUSIC(281361369)
到最后我的软件几乎就让我给写死了,没有了升级,甚至连维护都感觉到困难了

2005-05-20 17:40:26 D1.jackey(409485288)
c3。这就是架构的重要

2005-05-20 17:40:26 僵哥/zt(83039548)
[:L]偶就是懒得跑流程

2005-05-20 17:40:58 C3.MUSIC(281361369)
其实说到模块化,我也想,可是用户在使用过程中不断地增加功能,到最后我也模块化不起来了

2005-05-20 17:41:06 C3.MUSIC(281361369)
D1,我的问题该如何解决?

2005-05-20 17:41:12 僵哥/zt(83039548)
那你就需要控制

2005-05-20 17:41:17 D1.jackey(409485288)
重构

2005-05-20 17:41:30 僵哥/zt(83039548)
做多了,也就大致了解客户可能下一步会添加点什么

2005-05-20 17:41:36 C3.MUSIC(281361369)
D1,面向对象,继承吗?

2005-05-20 17:41:38 僵哥/zt(83039548)
现在是不是可以预计加入

2005-05-20 17:41:45 D1.jackey(409485288)
写好设计文档。

2005-05-20 17:42:01 僵哥/zt(83039548)
小系统设计文档没有多少用处的

2005-05-20 17:42:08 僵哥/zt(83039548)
客户随时都可能需要修改

2005-05-20 17:42:11 C3.MUSIC(281361369)
其实不怕大家笑话,我的程序基本上是不经过系统设计的

2005-05-20 17:42:19 D1.jackey(409485288)
与更改文档. 唉,现在有几个人能让你从容不迫的写呢?

2005-05-20 17:42:34 僵哥/zt(83039548)

2005-05-20 17:42:41 僵哥/zt(83039548)
从来都是逼着来的

2005-05-20 17:42:48 僵哥/zt(83039548)
求之不得你能马上给他

2005-05-20 17:42:57 僵哥/zt(83039548)
上司就求之不得你24小时上班

2005-05-20 17:43:01 僵哥/zt(83039548)
都是这样子的

2005-05-20 17:43:12 赤无极(172904741)
是呀
 

2005-05-20 17:43:19 C3.MUSIC(281361369)
当了解了功能后,几乎直接就是CODING!!

2005-05-20 17:43:26 D1.jackey(409485288)
僵哥[pig](83039548) 17:42:01
小系统设计文档没有多少用处的 =>有用处,我的系统我从来不对别人作讲解,只要看我的文档就行了.

2005-05-20 17:43:29 赤无极(172904741)
[;@]

2005-05-20 17:43:51 僵哥/zt(83039548)
那是你有时间当然可以写很详细的文档

2005-05-20 17:44:22 F3.♂沙漠王子(14229762)
同意 D1.jackey........切身感受,文档比较重要

2005-05-20 17:44:22 D1.jackey(409485288)
问一下。这有几个人写测试文档?

2005-05-20 17:44:26 僵哥/zt(83039548)
一天让你工作个16小时都写不完程序,完成不了任务时,你还能怎么写文档

2005-05-20 17:44:37 僵哥/zt(83039548)
其实谁都知道文档重要

2005-05-20 17:44:39 赤无极(172904741)
现在还有人愿意去看文档吗?
为什么我没有遇到这样的人呀[:<]

2005-05-20 17:44:44 C3.MUSIC(281361369)
我不写测试文档

2005-05-20 17:44:54 僵哥/zt(83039548)
甚至偶公司还有人提出来,一个程序员配两个专写文档的呢

2005-05-20 17:45:10 F3.♂沙漠王子(14229762)
最好写点文字性的东西,锻炼口才与文采,泡妞也方便

2005-05-20 17:45:11 D1.jackey(409485288)
我的设计文档没写出我不会去coding. 天王老子也不管.[:)]

2005-05-20 17:45:33 僵哥/zt(83039548)
[:D]你不管就跟你拜拜了

2005-05-20 17:45:35 赤无极(172904741)
[strong][strong][strong][strong][strong][strong][strong][strong][strong][strong]

2005-05-20 17:46:34 僵哥/zt(83039548)
不过流程图不可以不画

2005-05-20 17:47:17 僵哥/zt(83039548)
[:-|]偶都流程图都由老总来设计……[:X]

2005-05-20 17:47:28 C3.MUSIC(281361369)
D1,当你遇到程序需求经常变动而又不可预测这些变动的时候,你怎么处理?

2005-05-20 17:47:59 僵哥/zt(83039548)
[:D]经常变动,那应该属于你的控管问题

2005-05-20 17:48:00 F3.♂沙漠王子(14229762)
需求分析好了,大框架就容易订了吧....

2005-05-20 17:48:13 D1.jackey(409485288)
写完第一版再说。

2005-05-20 17:48:27 F3.♂沙漠王子(14229762)
[v]

2005-05-20 17:48:50 僵哥/zt(83039548)
其实文档并不是说每一行代码都要写到

2005-05-20 17:48:51 D1.jackey(409485288)
新的需求不会直接反映。这是我的原则

2005-05-20 17:49:12 C3.MUSIC(281361369)
可是客户又急等着要,你怎么办?

2005-05-20 17:49:40 D1.jackey(409485288)
我没见到这种情况。

2005-05-20 17:49:45 僵哥/zt(83039548)
[:L]五分钟工作量,偶报给客户4小时

2005-05-20 17:49:53 D1.jackey(409485288)
我对工厂,不对客户.

2005-05-20 17:49:57 僵哥/zt(83039548)
[:>]足够写文档

2005-05-20 17:50:08 D1.jackey(409485288)
不是软件公司就这点好处

2005-05-20 17:50:38 僵哥/zt(83039548)
对于软件公司来说其实并不是每一份代码都需要文档的

2005-05-20 17:50:56 僵哥/zt(83039548)
因为公司本来就有文档

2005-05-20 17:51:08 僵哥/zt(83039548)
只有新需求新功能才需要文档

2005-05-20 17:51:33 D1.jackey(409485288)
但是开发大的应用与开发小的应用与开发快速应用本来就有不同的方法。

2005-05-20 17:51:53 C3.MUSIC(281361369)
我有个想法,对于日益增加的新需求,经常抽时间整理自己的程序代码,各位觉得是否可行

2005-05-20 17:52:09 D1.jackey(409485288)
西门的方法是纯设计上的东东。但是对于软件公司基本上用不了。

2005-05-20 17:52:15 僵哥/zt(83039548)
[:D]如果你有这个空那么你就不忙

2005-05-20 17:52:22 D1.jackey(409485288)
在大的软件公司还行

2005-05-20 17:52:29 D1.jackey(409485288)
在工厂也可以

2005-05-20 17:52:50 D1.jackey(409485288)
但是c3那种情况下想都不要想

2005-05-20 17:53:01 僵哥/zt(83039548)
[:-|]偶咋觉得西门的象是小店

2005-05-20 17:53:05 僵哥/zt(83039548)
应用

2005-05-20 17:53:12 D1.jackey(409485288)
非也

2005-05-20 17:53:30 C3.MUSIC(281361369)
但是c3那种情况下想都不要想 ,指哪种情况?
 

2005-05-20 17:53:40 D1.jackey(409485288)
用户急要

2005-05-20 17:53:51 C3.MUSIC(281361369)

2005-05-20 17:54:06 C3.MUSIC(281361369)
是啊,用户急要,恐怕有很多东西是顾不上的了

2005-05-20 17:54:08 僵哥/zt(83039548)
[:D]问一下各位用什么开发语言?

2005-05-20 17:54:09 D1.jackey(409485288)
你那种快速应用需用要用xp方法

2005-05-20 17:54:22 D1.jackey(409485288)
对程序员要求高

2005-05-20 17:54:23 C3.MUSIC(281361369)
XP方法是什么?

2005-05-20 17:54:47 D1.jackey(409485288)
要能快速的确定系统的架构.

2005-05-20 17:55:05 C3.MUSIC(281361369)
是啊

2005-05-20 17:55:27 僵哥/zt(83039548)
一般经验比较丰富的差不多对小问题能做到这一点

2005-05-20 17:55:28 D1.jackey(409485288)
建立相对稳定的底层框架。

2005-05-20 17:55:44 僵哥/zt(83039548)
或者有自己的底层代码做基础

2005-05-20 17:55:54 D1.jackey(409485288)
不容易啊。老弟

2005-05-20 17:55:58 C3.MUSIC(281361369)
对呀,D1说的太对了,我现在就想这样,实现底层的程序框架

2005-05-20 17:56:21 D1.jackey(409485288)
有个简单的方法。抄现成的

2005-05-20 17:56:30 C3.MUSIC(281361369)
哪有现成的?

2005-05-20 17:56:58 僵哥/zt(83039548)
[:-|]偶是不大想写,现在马上要面临一种程序变格

2005-05-20 17:57:38 僵哥/zt(83039548)
都拿不定用什么语言,能够更快的适合下一代运行环境

2005-05-20 17:57:51 D1.jackey(409485288)
c3跟了这么长时间的EDS,怎么还没想到一个架构的东东出来?

2005-05-20 17:58:05 C3.MUSIC(281361369)
是啊,我实在是太菜了

2005-05-20 17:59:14 D1.jackey(409485288)
[eat]

2005-05-20 17:59:27 D1.jackey(409485288)
[bye]

2005-05-20 17:59:33 C3.MUSIC(281361369)
我实在想不出一个很通用的底层框架

2005-05-20 17:59:46 C3.MUSIC(281361369)
D1,我们说完后再走,可以吗?

2005-05-20 17:59:48 僵哥/zt(83039548)
你现在用什么语言

2005-05-20 17:59:53 C3.MUSIC(281361369)
DELPHI

2005-05-20 18:00:00 僵哥/zt(83039548)
[:D]吃饭要紧滴呀

2005-05-20 18:00:12 D1.jackey(409485288)
找出原来的两个关于系统架构的贴子。

2005-05-20 18:00:19 僵哥/zt(83039548)
[:L]偶是不仑不类

2005-05-20 18:00:46 D1.jackey(409485288)
是qq记录.
都讨论的差不多了。就差coding了.

2005-05-20 18:00:51 僵哥/zt(83039548)
学了点CB用了两三年VB,做了点Delphi

2005-05-20 18:01:00 C3.MUSIC(281361369)
找出原来的两个关于系统架构的贴子。 噢,那些呀,那些主要是界面的东西居多吧
 

2005-05-20 18:01:20 C3.MUSIC(281361369)
主要是界面通用吧

2005-05-20 18:01:27 僵哥/zt(83039548)
[:D]谁有看到有好的ERP的书没?

2005-05-20 18:01:53 C3.MUSIC(281361369)
晕,D1的ERP应该非常厉害的,这里不知道能否找到比他的ERP厉害的

2005-05-20 18:02:11 D1.jackey(409485288)
I-P-O.中I.O都是界面。

2005-05-20 18:02:28 D1.jackey(409485288)
你能搞定界面都已做完了大部分东东了.

2005-05-20 18:02:47 D1.jackey(409485288)
我记得也有基类的构造?

2005-05-20 18:02:48 僵哥/zt(83039548)
[:L]他厉害,但是偶不厉害,偶们老总厉害,偶也还是不厉害……

2005-05-20 18:03:03 D1.jackey(409485288)
[:)][eat]

2005-05-20 18:03:16 sooven/:)(2966030)
[eat]

2005-05-20 18:03:21 C3.MUSIC(281361369)
我记得也有基类的构造? 这个我倒记不得了
 

2005-05-20 18:03:25 C3.MUSIC(281361369)
好吧,谢谢D1

2005-05-20 18:04:00 sooven/:)(2966030)
各位,身体要紧。[eat][<W>]

 

转载于:https://www.cnblogs.com/DKSoft/articles/165265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值