我想弄清楚这段代码的作用。它基于设计模式。有人可以解释发生了什么,特别是在getNonTrivialStuff
NonTrivialClass
中
public class E{
private SomeOtherClass myObject = null;
private String trivialString;
public E(){
trivialString = "Trivial";
}
public String getTrivialStuff(){
return myTriv;
}
public NonTrivialClass getNonTrivialStuff(){
if (myObject == null){
myObject = SomeOtherClass.getObject();
}
return myObject.getNonTrivialStuff();
}
}
答案 0 :(得分:3)
它类似于Proxy_pattern。
如果您的班级 E 实施了一个由 RealSubject 实施的界面,如下所示, E 可以命名为代理服务器即可。
代理是一个包装器或代理对象,客户端正在调用它来访问幕后的真实服务对象
UML图:
代理,最常见的形式,是一个充当其他东西的接口的类。
代理可以与任何东西连接:网络连接,内存中的大对象,文件或其他昂贵或无法复制的资源。
您可以在以下帖子中找到有关代理服务器的更多详细信息:
What is the exact difference between Adapter and Proxy patterns?