以流程为向导与以数据为向导

如何区别在系统设计中,以流程为向导还是以数据为向导。
以流程设计为向导的设计有一个很大的特点,业务逻辑的实现以流程为中心,在流程中,将系统中的实体以数据的方式对待;
 以数据为中心的设计的特点为,设计以系统中的实体为中心,为该实体设计合乎逻辑的成员方法,通过实体间成员方法的通信来实现业务逻辑。

为什么要对这两种设计进行区分,因为这两种设计直接影响了系统设计的耦合度。

我的经验还不算多,但是我已经发现,以流程设计为向导会提升系统设计的耦合度。

实际上,所谓“以流程设计为向导”可能没有人去思考过这个问题,至少在我看见的系统中,还有我之前设计的系统中,“设计模式”都是“以流程为向导”的。的确,我们中的很多人在拿到需求之后,很自然的就根据需求的业务流程来思考程序的流程结构了。这种思考的很自然的一个结果就是我这里提出来的“以流程为向导”。这种设计方式是一种“惰性”的设计方式。

而已数据为向导的设计模式却是另外一片天地了,这种模式可能在其他的资料中提到过,或者是我现在突然想到的一个词,现在我想描述一下我对这种模式的一点想法:
在一个订单工厂中,每一个工人都在有条不紊地做自己的事情。有的在检查输入的数据,有的在计算拆分的数据,有的在计算打折信息,有的在检查订单上资源的可用性......;当这一切都做好了,数据会由专门负责输出的人员输出。

这样设计的一个好处是,当流程改变后,我们只需要调动相关的人员,而不影响到这个人员如何处理数据。除非你一定要改变这个人的数据处理方式。

这些只是我今天上午分析代码后的一点感悟。不足之处,还往各位高手指教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天好,会的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值