【发布时间】:2011-08-08 01:59:52
【问题描述】:
如何实现涉及异步调用的代理模式?
举个例子,如果我想得到一些东西,我会首先检查对象是否驻留在内存中,如果不是,我会发出http请求来检索它(这是异步调用)。
Customer customer;
customer = CustomerDAO.getCustomerByName("John");
在 CustomerDAO.getCustomerByName("John"); 内部;
Customer getCustomerByName(String name)
{
int age = 40;
if (map.contains(name))
{
Customer customer = map.get(name);
customer.age = age;
return customer;
}
else
{
makeRequestAsnyc(name, callback);
}
}
但是由于它是异步的,它会破坏程序的流程。 getCustomers 中的任何局部变量也必须传递给回调函数。有什么建议用异步实现代理模式吗?谢谢。
【问题讨论】:
标签: java design-patterns asynchronous proxy-pattern