社区
Java
帖子详情
怎样用面向对象的方式设计一个带有多个步骤的流程呢?
javavm
2003-09-29 08:55:57
有多个流程,这些流程中有很多步骤都是相同的,我应该如何设计呢?
...全文
54
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语言大型软件
设计
的
面向对象
不能克服
面向对象
这一关,也是很多人无法读懂Linux内核、驱动等架构比较庞大的软件的主要技术壁垒之一,因为这些软件里面充满了对象式的
设计
。 本课程以案例来详细讲解,用C语言如何
设计
面向对象
的程序。
面向对象
分析与
设计
当学员完成了Java等语言的学习之后,或者从事 软件开发一段时间之后,面对
一个
需要开发的新软件系统: 该如何入手呢?定义多少个模块?定义多少个类?定义每个类多少个属性、哪些操作? 如何定义类之间的关系?为...
Java
面向对象
技术简介: 理解
面向对象
的思想,掌握
面向对象
的基本原则以及Java
面向对象
编程基本实现原理,熟练使用封装、继承、多态
面向对象
三大特征,带你进一步探索Java世界的奥秘 课程适合人群: 本课程为Java入门课程,适合...
PHP
面向对象
设计
模式
本系列教程内容涵盖PHP常用的
设计
模式,旨在指导读者搭建易扩展的项目框架,高服用的代码,大程度的发挥
面向对象
思想的优势。
C#6.0
面向对象
编程基础
配置环境要求:1、操作系统:... 授课特色:全面细致地讲授
面向对象
的概念、方法和应用,突出
面向对象
程序
设计
的思想,并以C#为载体来实现
面向对象
的
设计
。 学后水平:学员学习后,基本掌握C#
面向对象
程序
设计
的思想。
Java
50,527
社区成员
85,606
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章