我的代码已经能够运行,但是我不知道我的实现方式是否恰当。基本上,我想保持模式而不违反它。
代码如下:
包模型(省略了设置器/获取器):
public class CA {
private Integer in;
private Integer jn;
}
public class CB {
private Integer kn;
private Integer ln;
}
public class CC {
private static CC instancia;
private CA a;
private CB b;
public static CC getInstancia() {
if(instancia == null) {
instancia = new CC();
}
return instancia;
}
}
企业套餐:
class CCBusiness {
static CC c = CC.getInstancia();
void alter(Integer input) {
c.getCA.setIn(input);
Integer num = c.getCB.getLn();
}
}
包门面:
class FacadeOne {
void methodOne() {
CCBusiness.alter(1);
// And more xxBusiness.xx()
}
实际代码更加复杂,但为了解释我的疑惑,我认为这个应该可以工作。
在一个门面中,我调用了几个业务对象,但是是否适当让一个业务(在这种情况下,CC类的业务)修改其他类(在这种情况下,CC内部的类)的属性?我应该创建CABusiness和CBBusiness吗?
因为,据我所知,一个业务不能调用另一个业务,所以第二个业务必须被参数化以接收来自FacadeOne的对象(如果我创建CABusiness和CBBusiness)?