发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA
1 2 3 4 ... 6 下一页 Go 6

关于四色原型中的Place扮演某个角色参与某个活动的疑惑

         
2011-07-09 14:17
赞助商链接

到现在为止,我可以理解的是:PPT中的Party和Thing扮演某个角色参与到某个活动中。
比如图书管理系统中,某个图书馆帐号(LibraryAccount,它是PPT之Party)扮演借书者(Borrower)的角色(Role)参与到借书的活动(MI)中去;而书(Book,它是PPT之Thing)则以被借书(BorrowedBook)的角色(Role)参与到该借书的活动中去;而图书馆则是这个活动的发生地,按照四色原型的定义就是PPT之Place,我知道在四色原型中,任何一个活动的参与者都因该是角色,即Role,那么图书馆这个Place是扮演什么角色参与到这个活动中去的呢?

按照我现在的理解,
1)如果是Party扮演某个角色参与某个活动,则Party在扮演该角色后会增加一些与该角色相关的状态或行为;
2)如果是Thing扮演某个角色参与某个活动,则Thing在扮演该角色后会增加一些与该角色相关的状态;
3)如果是Place扮演某个角色参与某个活动,那么这个Place似乎没有任何变化,也就是它不会新增任何的状态或行为;就像图书馆那样,我想它肯定是一个Place,但是它不会因为参与了借书活动而多出了一些状态和行为。

所以,我该如何去理解Place扮演角色这句话呢?

之前我看了好几遍Jdon007写的那个图书馆里系统的例子,里面它给图书馆(Library)这个PPT赋予了TakeBook(bookName)和PutBook(book)这两个行为,我怎么觉得很不习惯呢,如果图书馆是一个Place,又怎么会有行为呢?
[该贴被tangxuehua于2011-07-09 14:19修改过]

1
2011-07-09 15:47

还是重复说说一下我的理解。

1、业务规则,进入场景的前置条件以及在场景中的交互规则。
比如借书场景的前置规则,先要检察一下图书卡是否借满了书、欠费等。
进入场景后,也会根据借阅条款对角色行为进行限制与控制,比如还可以借几本书等。

2、角色行为或属性,依赖于场景的实体抽象。
比如,书的在图书馆进新书的场景和借阅的场景的行为或属性是不同的。
这些行为活或属性,是有场景约束的实体抽象,不放在书这个实体上。

3、模型行为或属性,不依赖于场景的实体抽象。
比如,在图书馆中,图书管不管在任何场景,书的入库、出库行为都存在,这些行为在该领域中,没有场景约束,就放在图书馆这个实体上。
这时候 PPT = Role, 可谓本色出演。

之前,我把借阅规则理解为MI,感觉还不太准确,确切地说,
它是描述活动的前置条件(进入场景的约束,不符合条件就进入不了该场景)和交互规则(场景中的行为约束)。

PPT,Party参与者,Thing参与物,Place活动场所。Place是可能有依赖场景的行为的。比如教室,上课时是课堂,考试时是考场;比如土地,建造房子时是工地,种植粮食时是田地,是有可能增加依赖场景的行为和属性的。

碰巧在图书馆领域中,图书馆似乎都是本色出演而已。PPT是在领域中不依赖场景的实体抽象,这个是他们的基本特征,至于是参与者、参与物、还是活动场所,这只是细化的描述而已。

2011-07-09 16:10

感谢jdon007的耐心解答,我现在明白了些了。
图书馆在借书或还书的场景中是本色出演角色,也就是说图书馆的确也可以理解为以某种“图书馆”的角色参与到借书或还书的场景中,只是在这个例子中,正好这个“图书馆”的角色的扮演者PPT也正好叫图书馆,所以我们称为本色出演角色。

如果用你的教室扮演课堂,或教室扮演考场的例子,那就很好理解Place和Role的区别了。教室就是PPT,而课堂或考场则是Role。

不知道我这样理解你的回复是否正确?

2011-07-10 20:23

2011年07月09日 16:10 "@tangxuehua"的内容
不知道我这样理解你的回复是否正确? ...


不客气,我只是提供我的理解,供你参考而已。

你不要太纠结于字眼或思考概念时(如Place)局限于某个例子,例子提供了一个思想的跑马场,但不意味着思想只能在这个跑马场跑,在广阔的草原上(生活和自然中)自由奔驰岂不更惬意?

不过,好像只有纠结了,才知道什么不是纠结,整个人的思维不掉进坑里,是很难体会跳出坑外的乐趣,也无法意识到自己原来一直呆在某个坑里。

愿你早日跳出此坑,再寻找另一个坑,跳进去。呵呵。

2011-07-11 11:14

2011年07月10日 20:23 "@jdon007"的内容
正好这个“图书馆”的角色的扮演者PPT也正好叫图书馆 ...


我是同意这个理解的。以PPT本身来参与,是一种特例(本人不怎么倾向)。或者说换一个角色名:借出者,这样就会避免混淆。当然一个角色一直都是同一个实体来扮演,这个确实是麻烦了。

6Go 1 2 3 4 ... 6 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com