网站用户框架的设计

来源:互联网 发布:路亚竿淘宝 编辑:程序博客网 时间:2024/05/13 20:05

用户类的UML图

User:

       所有User都是一个User类。初步打算为5个成员变量。其中密码打算使用md5进行储存。Rolemap不提供get方法。只提供相应的get Role方法。现在这个模型是没有考虑到除了ID,Name,Password之外的其他信息。现在把这些信息封装到一个Information类当中。

 

Role:

     这个类比较特别。怎么说呢。以前把这个类当做authority类,想的是把关于用户的具体操作都封装到各个具体的类中,然后发现这样做会使得这个类太过于发杂,其次,由于Role某种意义上来说完全是数据,这样就使得数据和操作混在一起,增加了耦合度。

     现在改成了Role,代表的是各种身份。初定为两个变量。一个是存放Authority的Authoritymap,另一个是TypeName。

     在这里,我个人觉得TypeName比较麻烦。主要原因在于我希望他是finial而且是static的。但是如果设在虚拟类中,那么finial就毫无意义可言。所以只能单独的定义再各个类中。

       最终决定采用。是在Role这个虚拟类中放入getRoleName这个方法来取代一个变量,然后再在各个类当众赋值的方法。

 

Authority:

     这个类类似于以前的Role类,当然,结构也和Role一样,在这里他也确实很想Role类。只是这一块的构思还没设定完成。当然,最后会和Security相关。

     主要是。我觉得是否要把其和Role合并,这是一个值得思考的问题。

     后来考虑的结果是取消。进过思考之后。设想是在具体操作的时候提供权限认证。而不是这里来进行。当然,这会有个问题。就是一些批量处理的权限认证会变得比较复杂。比方说确定用户有多少按钮。所以打算保留住Role中的Rolemap

Usermanager:

     这是最后决定加入这个系统的类。觉得最好给User类加入一个UserManager类比较合适。当然还有一个目的就是为了日后加入hibernate做铺垫。

     因为我觉得User最好是通过一个特定的方式获得,而不是可以随意的new。所以这个类最多的方式是给其他类提供获得User的方式。

    当然这不是最先的思路。他有一个流程。如果有兴趣。可以访问 http://docs.google.com/Doc?id=dc97wd92_1dn2kf7g8这个链接。因为在这个前面,有2个版本。里面有着相关的记录。

原创粉丝点击