我想了一下,大概需要这些类吧
1.Role基类,定义一些通用的权限,如权限ID等
2.相应于各种权限的Role子类,分别定义客户的不同权限.
3.需要一个生成各种权限的工厂类,用来根据不同的权限ID生成相应的权限类
Role类可以考虑用abstract,这样为你的系统提供可扩展性,当你需要增加新的权限时,只需要实现新的权限子类就可以了.
4.Customer类,包括客户标示和权限等.
5.当然你还需要一个工具类,用来处理xml
6.至于你要根据权限实现的不同功能也可以通过一个单独的action类层次来实现拉,需要保持足够的灵活性.
呵呵,只是我的一些看法,希望对你能有所帮助.
1.Role基类,定义一些通用的权限,如权限ID等
2.相应于各种权限的Role子类,分别定义客户的不同权限.
3.需要一个生成各种权限的工厂类,用来根据不同的权限ID生成相应的权限类
Role类可以考虑用abstract,这样为你的系统提供可扩展性,当你需要增加新的权限时,只需要实现新的权限子类就可以了.
4.Customer类,包括客户标示和权限等.
5.当然你还需要一个工具类,用来处理xml
6.至于你要根据权限实现的不同功能也可以通过一个单独的action类层次来实现拉,需要保持足够的灵活性.
呵呵,只是我的一些看法,希望对你能有所帮助.
工厂类的话主要只要实现方法就可以了createInstance(RoleID roleID),根据传入的不同Role的ID来创建你相应的Role子类,但是在createInstance里边返回的应该是一个Role基类,java的多态可以保证你可以根据基类引用准确地调用子类的方法拉.
Role createInstance(RoleID roleID)
{
switch(RoleID)
{
case Role1:
return new Role1(RoleID);
case Role2:
.....
}
关于工厂类更详细地你可以参见一些设计模式方面的书吧,应该比较容易实现的.