社区
Java
帖子详情
怎样用面向对象的方式设计一个带有多个步骤的流程呢?
javavm
2003-09-29 08:55:57
有多个流程,这些流程中有很多步骤都是相同的,我应该如何设计呢?
...全文
57
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的
《C++
面向对象
程序
设计
》✍千处细节、万字总结(建议收藏)
文章目录《C++
面向对象
程序
设计
》✍千处细节、万字总结一、
面向对象
程序
设计
二、C++基础2.1 C++的产生和特点2.2
一个
简单的C++示例程序2.3 C++在非
面向对象
方面对C语言的扩充输入和输出cinconst修饰符void型指针内联...
软件
设计
第一步:UML
面向对象
分析及其包括的图、建模
步骤
本文和大家重点讨论一下UML图的概念,UML建模语言大家应该有所了解了,这里向大家介绍一下UML
面向对象
分析及其包括的UML图、建模
步骤
,相信本节的学习也一定会让你对UML
面向对象
建模有深刻的认识。下面是具体介绍。 ...
面向对象
是什么?为什么我们要先学面向过程,再学
面向对象
编程?到底什么是
面向对象
编程?
来看看这几个问题:到底什么是
面向对象
编程?和面向过程编程有什么区别?什么又称为
面向对象
语言、面向过程语言?用
面向对象
语言写的代码就
面向对象
了?
面向对象
编程真的就这么好吗?复杂的业务用
面向对象
编程就合适...
Java
面向对象
程序
设计
(OOP)
1、
面向对象
程序
设计
(OOP) 1.1、面向过程&
面向对象
面向过程思想
步骤
清晰简单,第一步做什么,第二步做什么…(线性思维) 面向过程适合处理一些较为简单的问题
面向对象
编程 物以类聚,分类的思维模式,...
面向对象
系统分析与
设计
面向对象
功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成
一个
适合你的列表创建
一个
表格设定内容居中、居左、居右SmartyPants创建
一个
自定义列表如何创建...
Java
50,531
社区成员
85,616
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章