我开始使用 silverlight/flex 并立即遇到了异步服务调用。我习惯于使用一种或另一种服务器获取机制以 OO 方式解决数据访问问题。
我有以下简单的代码示例:
public double ComputeOrderTotal(Order order)
{
double total = 0;
// OrderLines are lazy loaded
foreach (Orderline line in order.Orderlines)
{
// Article,customer are lazy loaded
total = total + line.Article.Price - order.Customer.discount;
}
return total;
}
如果我理解正确,这段代码在 Flex/Silverlight 中是不可能的。延迟加载迫使您使用回调。IMO 上面的简单示例将是一团糟。
谁能给我一种结构化的方式来实现上述内容?
编辑:
- Flex/Silverlight 的问题是一样的,伪代码就可以了
- 它不是真正与 ORM 相关,但大多数 orm 使用延迟加载,所以我将删除该标签
- 问题是模型中的延迟加载
- 上面的示例非常可行,因为所有数据都在内存中,但我们假设必须从服务器获取一些数据
- Closueres 没有帮助,因为有时数据已经加载并且不需要异步获取