我在这里遇到一种情况,我希望验证什么是更好的(设计)方法。
假设我有一个包含/实例化“XObject”实例集合的类“XController”。而且,我有一个负责实例化 XController 的客户端。
现在,如果我希望对实例化的 XObjects 做一些事情,推荐以下哪一项:
方法一:
XController x = new XController(); // do something in the constructor to create XObjects with ids, x1, x2, so on...
x.doStuff(x1); // which does some stuff with the XObject with id 'x1'
方法二:
XController x = new XController(); // do something in the constructor to create XObjects with ids, x1, x2, so on...
XObject xObj1 = x.getXObject(x1);
xObj1.doStuff(); // which does some stuff with(in) itself
笔记:
- 控制器在 doStuff() 之前/之后并没有真正做任何事情。
- doStuff() 的实现通常只会更新该对象的状态。
任何关于为什么一个比另一个更好的参考都受到高度赞赏。