代码之家  ›  专栏  ›  技术社区  ›  azamsharp

领域设计问题

  •  0
  • azamsharp  · 技术社区  · 15 年前

    我正在做一个申请,我可以有老师,学生等角色。有些功能类似,所以我也有一个基类用户。用户包含addRole方法和其他内容。

    现在,我希望在创建教师对象时,自动将“教师”角色分配给该对象。我在构造器内部做这个,但我认为它很难看。代码如下:

    public class Teacher : User
        {
            public Teacher()
            {
                AddRole(new Role() { RoleName = "Teacher"});
            }
        }
    

    数据库中没有教师表。一切都是基于用户的。教师只是一个角色,具有不同于学生的功能。

    我该怎么办?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Tom    15 年前

    怎么样

    //C++ look alike pseudocode 
       public class User{
          String role;
    
          User (role_){role = role_;}
    
          String getRole(){return role;}
    
       }
    
    
        public class Teacher : User
            {
                public Teacher():User("Teacher")
                {
    
                }
            }
    
        2
  •  0
  •   Samuel Carrijo    15 年前

    它如何在您的域模型中工作?任何适用于您的域模型的东西都应该在您的代码中。

        3
  •  0
  •   aberrant80    15 年前

    事实上,有一个 Role User 表。

    实现在很大程度上取决于您的角色将如何使用。他们有相关的功能吗?或者只是标签?你的角色是固定的还是动态的?根据使用和定义的方式,接口或继承可能适用于您的角色或实际 角色 对象可能更好。