这样的代码有什么缺点:
public class Class1 { public object Property1 { set { // Check some invariant , and null // throw exceptions if not satisfied // do some more complex logic //return value } } }
casperOne.. 11
如果你做了过多的逻辑需要花费很长一段时间,和/或副作用不能从属性的设置中逻辑流动,那么你将会有一个非常复杂的类设计.
传统上,方法用于表示正在执行具有后果的动作,而不是属性.虽然你肯定可以在其中使用逻辑,但是过多可能会给你错误的印象,即你要做什么,分配一个值,而不是执行一个操作.
最后,这一切都取决于"做一些更复杂的逻辑"的含义.
如果你做了过多的逻辑需要花费很长一段时间,和/或副作用不能从属性的设置中逻辑流动,那么你将会有一个非常复杂的类设计.
传统上,方法用于表示正在执行具有后果的动作,而不是属性.虽然你肯定可以在其中使用逻辑,但是过多可能会给你错误的印象,即你要做什么,分配一个值,而不是执行一个操作.
最后,这一切都取决于"做一些更复杂的逻辑"的含义.