对象建模应该如何确定对象有哪些方法?
最近正在自学建模。打算以设计一个论坛做为目标。初步确定了论坛中有用户、管理员、论坛、帖子等对象。我想问一下,像添加帖子这种功能是否应该属于哪个对象?是应该放在用户对象还是帖子对象中?还有,像注册用户、消息的发送管理这些功能是应该独立出来成为一个服务还是放到用户对象中去?
思考来思考去,感觉一脑袋浆糊。而且感觉几乎所有的方法都跑到用户、管理员这两个对象中去了。是否吧对象设计的太大了?到底应该如何确定功能应该放到那个对象中去呀。
还有就是对象持久化。程序结构上我想参考JIVE的代理模式,但是带来一个问题。我打算在论坛中使用Spring之类的IOC管理类的创建。比如用户对象,有一个User接口,一个ProxyUser做为代理。实际工作的是一个DBUser类(先这么叫吧。这个类用ORM工具持久化到数据库)。从数据库中取出的是DBUser,用户要操作ProxyUser。我应该怎么做?new一个ProxyUser然后把DBUser放到ProxyUser里头,最后返回ProxyUser?感觉把ProxyUser写死了,我应该怎么写?用一个ProxyUser的工厂类处理?还是用IOC?感觉这里用BeanFactory得到ProxyUser的话,框架侵入程序太厉害。用工厂方式也觉得不太对劲。
说了这么多,自己也不知道有没有把意思表示清楚。这种设计思想方面的东西,我总是有点说不清楚。请大家多多帮忙。