楼主: yining

[精华] 2003-12-30设计问题讨论

[复制链接]
论坛徽章:
0
21#
发表于 2003-12-30 21:48 | 只看该作者
能否请yining老大讲讲持续层如何考虑?
跨度太大。我无法理解阿。

Command模式我正在看。刚找出来:shy:

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
66
ITPUB元老
日期:2005-07-16 18:49:11授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44现任管理团队成员
日期:2011-05-07 01:45:08版主3段
日期:2012-05-15 15:24:11
22#
发表于 2003-12-30 21:59 | 只看该作者
最初由 decode 发布
[B]能否请yining老大讲讲持续层如何考虑?
跨度太大。我无法理解阿。

Command模式我正在看。刚找出来:shy: [/B]


          老大十点左右应该可以现身的

使用道具 举报

回复
论坛徽章:
0
23#
发表于 2003-12-30 22:32 | 只看该作者
Command模式:
CommandDispatcher依据CommandParameter确定出应该实例化哪个Command。确定好之后,在dispatch方法中执行command.execute();

而各个command负责具体的实现,执行。

达到的效果:命令的发出(dispatch)和执行被分隔了。从而,可以容易地引入新的command。而现有的代码不需变化。

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
24#
 楼主| 发表于 2003-12-30 22:33 | 只看该作者
最初由 ccwlm741212 发布
[B]问:  1、设计用例的边界怎样划定:那些需要放这个,那些需要放那个上
      2、用例之间的关系也在2个用例之间说明吗
      3、如何才能保证用例设计的完整性
      4、设计用例是按照对象分呢,还是按照流程分 [/B]


1。这个是看相关程度。用例的划分可粗可细,完全看创造者自己掌握。当然,太粗了对描述不利,太细了自己忙不过来。

2。用例关系好像在UML中只有三个,extend,include,还有一个忘了。在用例图中是用两个用例之间的连线表示的。

3。用例设计并不追求完整,只是抓住重点地用例就可以了。对于一个单独的用例而言,就是要多考虑各个alternative path,以及异常情况的处理。

4。用例设计是对各个输入的系统反应的描述,所以用例不是OO的。基本上一个用例就是一个完全的系统活动。比如用户管理,登录,等等。

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
66
ITPUB元老
日期:2005-07-16 18:49:11授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44现任管理团队成员
日期:2011-05-07 01:45:08版主3段
日期:2012-05-15 15:24:11
25#
发表于 2003-12-30 22:42 | 只看该作者
我再问:控制类、边界类、实体类的区别?

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
26#
 楼主| 发表于 2003-12-30 22:53 | 只看该作者
最初由 xzh2000 发布
[B]咱也來提几個問題﹕
1 接口在OOM代表什么﹖是已經實現的(代碼)還是未實現的﹖
2 類與接口的關系﹖
3 設計模式是一種什么概念﹐在OOM中如何體現﹖
4 association與dependency的作用與區別是什么﹖
5 generalization與Realization的作用與區別是什么﹖
6 aggregation與composition的作用與區別是什么﹖ [/B]


1。接口与其说是一种类型,不如说是一种概念。接口代表的事已经定义的method,但是各个method的实现并不确定。在Java中,你可以直接声明一个interface,但是在C++中,你只有定义一个pure virtual class(?),因为c++没有接口这个类型。

2。基本上可以说类是接口的一种实现。

3。如果说编程语言是砖瓦的话,设计模式就是现成做好的门窗。拿围棋中的定势来比喻设计模式是最合适不过的了。因为设计模式也是为了解决某个特定问题而作的一种最优化的解法,通常,设计模式的应用都会带来一些副作用。但是由于产生的好处更大,所以还是可以直接使用(毕竟直接使用现成的门窗,即使是有缺点的,也比自己临时制作一个门窗合算)。

4。association是指两个类之间的包含关系,体现在具体的代码上,就是类的成员中会有另外一个类的引用。dependency只是一种依赖关系,即使是包之间,也可以存在依赖关系。

5。generalization是类的继承,realization是接口的实现。

6。如果是aggregation的关系,在owner class被消除掉之后,aggregation的class仍然存在,但是如果是composition的关系,composition的class是不能独立于owner class存在的。

使用道具 举报

回复
论坛徽章:
0
27#
发表于 2003-12-30 22:55 | 只看该作者
实体类通常是一些名词
参与者/用例的边界就常常对应一个边界类。反映参与者和系统的接口界面
控制类用来封装工作流

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2003-12-30 22:57 | 只看该作者
最初由 decode 发布
[B]实体类通常是一些名词
参与者/用例的边界就常常对应一个边界类。反映参与者和系统的接口界面
控制类用来封装工作流 [/B]

除了这三者,还有一种用来控制实体类创建,删除。。等等的类,可以称之为生命周期类。如管理一个连接池的容器类。一些工厂类也可以列入此中

以上摘自 Enterprise Java with UML。中文版

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
29#
 楼主| 发表于 2003-12-30 23:01 | 只看该作者

Re: 交作业:第一部分。 问问题。陈哥请回答。

最初由 decode 发布
[B]另外。限制条件指什么?部署约束?
参与者前面你加了“已经注册的用户”。我仿照也使用了。我的问题是:
如果将参与者改成“用户”。将已经注册列入前置条件,是否更好? [/B]


限制条件只不过是一种说法而已,比如你前面列举的题目为空,内容为空会如何处理,也可以在限制条件中列出:题目必须满足一定长度,内容必须满足一定长度。如果不满足的话,转到异常处理第几号。

参与者改称用户确实更好,这个是我疏忽了。

使用道具 举报

回复
论坛徽章:
55
生肖徽章:虎
日期:2006-09-06 21:14:232011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
30#
 楼主| 发表于 2003-12-30 23:04 | 只看该作者
最初由 decode 发布
[B]Command模式:
CommandDispatcher依据CommandParameter确定出应该实例化哪个Command。确定好之后,在dispatch方法中执行command.execute();

而各个command负责具体的实现,执行。

达到的效果:命令的发出(dispatch)和执行被分隔了。从而,可以容易地引入新的command。而现有的代码不需变化。 [/B]


而且由于命令的独立,系统以后的扩展非常方便,另外,用于是用分离的dispatcher和command,所以可以很容易的达到恢复的功能。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表