c# – 为什么在类属性中没有复杂的逻辑被认为是最佳实践?

这样的代码有什么缺点:

public class Class1
{
   public object Property1
   {

        set 
        {
             // Check some invariant , and null

             // throw exceptions if not satisfied

             // do some more complex logic

             //return value 
        }

   }
}
最佳答案
如果你做了过多的逻辑需要花费很长一段时间,和/或副作用不能从属性的设置中逻辑流动,那么你将会有一个非常复杂的类设计.

传统上,方法用于表示正在执行具有后果的动作,而不是属性.虽然你肯定可以在其中使用逻辑,但是过多可能会给你错误的印象,即你要做什么,分配一个值,而不是执行一个操作.

最后,这一切都取决于“做一些更复杂的逻辑”的含义.

转载注明原文:c# – 为什么在类属性中没有复杂的逻辑被认为是最佳实践? - 代码日志