【发布时间】:2014-07-08 04:55:46
【问题描述】:
IoC 服务应该从数据库中检索信息
- 在会话期间从未更改。可能这是恒定值。
- 时间很宝贵
在这种情况下,我应该对封装对服务方法的访问的属性使用“延迟加载”模式吗?例如:
public interface IMyDbConstantService {
string MyDbConstant {get;}
string GetMyDbConstant();
}
public class MyDbConstantService: IMyDbConstantService {
public string MyDbConstant
{
get
{
// Implementing lazy load pattern
return myDbConstant ?? (myDbConstant = this.GetMyDbConstant());
}
}
public string GetMyDbConstant() {
// time expensive operation
}
}
【问题讨论】:
标签: dependency-injection inversion-of-control lazy-loading