(代理设置除外!)
我花了一些时间在这里写一个关于我遇到的问题的更好模式的问题 - 一个对几乎每个属性 getter 执行一些条件初始化的类,因为基类中的初始化依赖于继承类的数据,而这些数据不是施工时可用。
在编写问题时,我得出结论,在继承器构造上进行初始化是更好的做法。这将要求每个继承类调用父类初始化方法,但我认为它更好,因为:
- 我不必记住在每个新属性 getter/setter 的基类中进行初始化。
- 我在调试时不会意外触发初始化(请参阅我的问题here)
如果您曾经有过更改属性 getter 中状态的代码,您认为这绝对合理吗?你能举一个这样的例子吗?(或者甚至描述模式?)
我只能想到代理访问,在属性访问之前你不想执行初始化......
有人建议我使用工厂/静态方法进行初始化——这实际上是一个好主意(当构造简单时,当继承类之间不统一时会有点困难),但是在我有机会提交回复之前,答案就被删除了. 太糟糕了。