请问 banq 先生一个设计上的问题

08-08-23 yalongxiao
你好bang...在这里问一个比较困扰我的设计问题。

在一个系统里面,有登陆用户名(loginid)和真实用户名(name),之间的区别,loginid 是唯一的。在系统中显示给用户看到用户名都是name..但是系统的相关操作要以loginid为准。

我的问题是:怎么保存loginid和name..

具体的意思是,我在需要保存用户的地方,是不是都一起保存loginid和name.

我本人是很反对这种做法的,因为,如果一个表里面迁涉到多个用户,那这个表将被撑大,是很不方便操作的。。。

我想在所有需要存用户的地方只存loginid,,显示给用户看的时候,在从一个servletcontext存储的用户map里面去读。。但是又担是系统负担的问题,我没有什么系统消耗方面的经验。所以不知道这个方法对系统的负担会有多大。。

请问我该如何做呢??

    

banq
2008-08-24 10:33
将(loginid)和真实用户名(name)组成对象Account,然后保存到Session中,这个Session分两种:HttpSession或业务层的Session: Spring是配置scope;EJB是使用SessionBean;Jdon框架是使用SessionContext。

yalongxiao
2008-08-24 12:09
banq 老师谢谢你的回复,

您的意思是用我的第二种方法,只不过存储的方式换为HttpSession或业务session吗。

freebox
2008-08-24 16:46
意思是不能孤立地看待各个字段,而要形成一个整体来看待成一个Member对象,这个对象有着一些字段,其中就有您所说的loginid等等,并且这个对象有个约束条件就是loginid惟一。

我刚学习的时候经常是会使用api对象而不会使用自己的对象,其实自己的对象才是业务的核心,这些对象才能标志着自己的领域区别于其它领域的知识,才是整个问题的关键,以至于多年以后各种技术都更新换代的时候,它们仍旧能够清晰的表达领域当中最核心的问题,成为真正的财产。

猜你喜欢