【发布时间】:2015-03-18 05:25:08
【问题描述】:
我正在编写一个 MVC 5 互联网应用程序,并且有一个关于使用惰性和惰性初始化的问题。
Lazy Class 文档说:
使用延迟初始化来推迟创建大型或 资源密集型对象,或资源密集型的执行 任务,特别是当此类创建或执行可能不会发生时 在程序的生命周期内。
这是我的情况:
我有一个具有验证服务类的控制器。此服务类仅在控制器创建或编辑函数中创建或编辑模型对象时使用。
我应该在这个验证类中使用 Lazy 吗?我在想也许,因为用户可以浏览到索引、详细信息和删除功能,并且永远不会使用验证服务类。验证类有超过 900 行代码。
另外,我有一个异常服务类,用于在发生错误时显示自定义错误页面。该异常类有 100 行代码,仅在发生异常时使用。如果没有发生异常,则不会使用此类。我应该为这个异常类使用 Lazy 吗?
由于我之前没有使用过Lazy,所以请教一下,我不确定是否应该在上述两种情况下使用Lazy。
提前致谢。
编辑
有人可以解释一下在上述情况下是否有任何理由不使用 Lazy 吗?异常缓存是我需要担心的吗?
验证服务类有一个接受IGenericMultipleRepository 对象的构造函数。该对象是用于访问存储库的接口,我在单元测试时使用它。 Exception 服务类有一个默认构造函数。
【问题讨论】:
标签: c# class controller asp.net-mvc-5 lazy-initialization