问:`模型类可以包含方法和构造函数吗?" [BEST PRACTICE]
我有一个员工模型类,包括员工的姓名,年龄,工资等......
public class Employee
{
public string Name { get; set; }
public int Age { get; set; }
public int Salary { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以上面可以Model Class包含一些自我更新方法[比如用计时器或其他东西每1小时更新一次员工的年龄]和\或构造函数,或者更好地处理来自执行者的所有事情?
他们为什么不能?真正的答案是:这取决于您的用例.模式,例如某种模型类,是建议,常见的做事方式,而不是牢不可破的教条.
注意:"使用计时器或其他东西每1小时更新员工年龄"的示例从根本上说是错误的.存储年龄根本就是错误的,除非您在某个时刻存储快餐店.一个更好的解决方案是存储出生日期,并计算年龄.例如,通过Age仅使用getter 定义属性.
模型应该包含与模型相关的所有逻辑(这就是 DSL),所以,是的,它可以每小时更新一次。当你定义自动属性时,它与定义setter和getter相同,所以当然你也可以添加方法和构造函数。