领域设计问题

时间:2009-08-12 03:18:25

标签: domain-driven-design

我正在申请一个可以拥有教师,学生等角色的应用程序。一些功能类似,所以我也有一个基类用户。用户包含AddRole方法和其他东西。

现在,我希望在创建Teacher对象时,会自动将“Teacher”角色分配给该对象。我在构造函数中执行此操作,但我认为它很难看。这是代码:

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

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

我该怎么做?

3 个答案:

答案 0 :(得分:2)

怎么样

//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")
            {

            }
        }

答案 1 :(得分:0)

它在您的域模型中如何运作?适用于您的域模型的任何内容都应该在您的代码中。

答案 2 :(得分:0)

实际上,Role表与User表具有1到m或m到m的关系是很常见的。

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