【发布时间】:2018-07-19 19:02:15
【问题描述】:
有没有办法在“中介”设计模式中实现访问控制? [REF]
例如,我有 3 个对象通过调解器在它们之间进行通信:
public interface Mediator {
public void operationA();
public void operationB();
public void operationC();
}
public abstract class Colleague {
protected Mediator mediator;
public Colleague(Mediator mediator) {
this.mediator = mediator;
}
public Mediator getMediator() {
return mediator;
}
}
public class ConcreteMediator implements Mediator() {
private ObjectA objectA;
private ObjectA objectB;
private ObjectA objectC;
public void operationA() {
objectA.operationA();
}
public void operationB() {
objectB.operationB();
}
public void operationC() {
objectC.operationC();
}
}
public class ObjectA extends Colleague {
public operationA() {
System.out.println("Operation A");
}
}
public class ObjectB extends Colleague {
public operationB() {
System.out.println("Operation B");
}
}
public class ObjectC extends Colleague {
public operationC() {
System.out.println("Operation C");
}
}
并且我希望操作 A 只能由对象 C 或对象 A 执行。实现此限制的最佳方法是什么?
【问题讨论】:
标签: java design-patterns mediator