怎样用面向对象的方式设计一个带有多个步骤的流程呢?

javavm 2003-09-29 08:55:57
有多个流程,这些流程中有很多步骤都是相同的,我应该如何设计呢?
...全文
50 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
icecloud 2003-10-16
  • 打赏
  • 举报
回复
command模式
类似于filters的实现

liushenling 2003-10-16
  • 打赏
  • 举报
回复
1。设一个步骤类,(即节点类,包括,该步骤的名称,前提步骤,。。。)
2。设计一个流程类,包含很多步骤,且步骤之间用任务驱动!
无名2018 2003-10-16
  • 打赏
  • 举报
回复
UP
学而优则仕2 2003-10-10
  • 打赏
  • 举报
回复
如果你没有用对象的观点,在你的眼里就只有过程而没有这些职责的承担者---对象,也就没有类了。那还谈什么java?
所以,你应该重新分析你的问题,而不是在过程的驱动下寻找算法。这些过程行为谁来完成?可以抽象为一个类还是多个?如果是多个其关系如何?
有了承担责任的对象,过程行为就可以赋给相应的类来实现。比如假定有一个计算器,如果我要作加法运算,需要先输入一个数,按+,在输入一个数;如果我要做减法,就需要在中间按-。这些方法或者说功能需要计算器对象都有了相关的定义,然后根据接受的不同信息用不同的方法实现。
至于约束流程中各个步骤的顺序,要么在运行前能够描述和表达出来,要么在运行时能够通过一定的规则进行判断(你至少需要把规则表达出来)。
这些问题都清楚了以后,在用java实现的时候才可以去考虑如何应用一些设计模式之类的经验来达到设计规范化和满足其他一些设计要求。
qiume 2003-10-08
  • 打赏
  • 举报
回复
呵呵,抽象类!!!
aalup 2003-10-08
  • 打赏
  • 举报
回复
to fangsoft() :
我是你的学生
yiningchen 2003-10-08
  • 打赏
  • 举报
回复
用所谓的command或者State模式不是很好么?我觉得command的描述在这里可能有歧义,但是State的描述听上去和你说得很吻合。只是你的说明不是很清楚。
XmanDZJ 2003-10-07
  • 打赏
  • 举报
回复
建议采用command模式,形成一个command链,将各个流程作为一个单独的用例进行封装即可
fangsoft 2003-10-05
  • 打赏
  • 举报
回复
先建模,后设计.

fangsoft,

2003,10,5
swinging 2003-10-02
  • 打赏
  • 举报
回复
引用:
=======================
例如流程一的步骤为:a,b,c,d,e,f
而流程二的步骤为:a,b,d,e,g。
========================
如果只是考虑对流程的不同方式的组装,可以考虑使用Command模式。
wingnal 2003-10-02
  • 打赏
  • 举报
回复
这都不会呀!
anyh 2003-10-01
  • 打赏
  • 举报
回复
我觉得你自己还没把问题弄清 至少你的问题没有表达清楚,比如你说的约束条件是什么?
javavm 2003-09-30
  • 打赏
  • 举报
回复
各位帮我想想拉,谢谢
javavm 2003-09-30
  • 打赏
  • 举报
回复
其实我最关心的问题是如何约束流程中步骤的顺序,例如流程一的步骤为:a,b,c,d,e,f
而流程二的步骤为:a,b,d,e,g。如果仅仅在某个类中提供这些步骤的方法,而没有其他的约束条件,是没法实现我的要求的。
happyegg 2003-09-30
  • 打赏
  • 举报
回复
1。 需要保存状态的话,你可以把这些状态变量做成参数传入传出。
2。如果这些流程都有相似之处的话,那就做一个基类,提供很多的处理方法,所有的流程都继承这个父类,这样,状态变量就在子类里面,需要处理的时候调用父类方法
jbluesun 2003-09-29
  • 打赏
  • 举报
回复
其实每个class里面的编程还是过程性的,如果实在不能设计出更多的class,你就把那些相同的步骤抽取出来做成这个class的一个method吧。
javavm 2003-09-29
  • 打赏
  • 举报
回复
我的流程是需要保存状态的,用静态的没法实现吧
happyegg 2003-09-29
  • 打赏
  • 举报
回复
把相同的步骤抽取出来,创建一个util的类来存放。然后其他的步骤就使用这个util类的方法来做相同的动作。这个不关设计模式的事,是OOP编程思想方面的。
这些方法最好做成static的

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧