请教,DDD中是怎样获取类来进行建模的?

08-12-22 flymouse
在这里请教一下,大家是怎样获取类来建模的?都说是在需求中找出名词,再对名词进行判别,就是这个“判别”,大家是怎样进行思考的,我感觉还有点迷糊,下面举个简单的例子:图书借阅系统

相关的功能:

用户需登录才可以进入;

可对图书目录进行一览、增加以及删除操作,图书的信息,包括:图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别;

可对借阅者帐户进行一览、增加以及删除操作,读者的信息,包括:读者编号、读者姓名、性别、年龄、住址、电话和备注;

可通过读者编号和姓名对其所借阅图书进行查询操作;

可通过图书信息对图书进行查询操作;

对读者信息及其所借阅图书进行统计;

对图书信息及其是否借出进行统计。

当然,实际应用的应该还不止这些功能,这里只是简单列举一些来学习

从以上功能描述中可找出的名词有:用户、图书、 图书目录、图书编号、图书名称、作者姓名、出版社、出版日期、单价、图书类别、借阅者、读者、读者编号、读者姓名、性别、年龄 、住址、电话、备注

这里可以获得几个类:用户、图书、图书类别

其中读者,也即借阅者,另外还有系统管理员和图书管理员,这三个都继承用户

看过一些文章,把图书目录也作为类,请教要作为类,是怎样的思考来将它作为一个类的?

不知这样对不对,请大家赐教


              

banq
2008-12-24 08:48
本站推荐从四色图 入手,辅助原型分析,所以图书目录可以看成一个description,细化到Evans DDD中,图书目录可以看成一个值对象,当然它也有实体性质。

killer
2008-12-24 19:13
楼主这个图感觉有以下几点问题:

1. 漏掉重要概念:借阅图书,落实到四色原型中的话就是MI,用户和图书之间只有在发生借阅行为时才会发生关联。所以图中用户和图书之间的直接关联是错误的。有一句话推荐给楼主:“世界是事实的总体,而不是事物的总体,事实是发生的事情”。

2. 图书管理员,借阅者,系统管理员都是用户所扮演的角色,建议抽取角色类,落实到四色图中就是Role。

freebox
2008-12-25 19:28
“世界是事实的总体,而不是事物的总体,事实是发生的事情”

这句话很有用,虽然这个帖子的问题不是我问的,我仍然非常感谢楼上的指点,因为我经常忽略一些“看上去并不太明显”的事件。这句话非常值得我思考并重新认识问题领域。

xmuzyu
2008-12-26 01:01
>>世界是事实的总体,而不是事物的总体,事实是发生的事情

非常好。这句话太有用啦。

猜你喜欢
3Go 1 2 3 下一页