gpt4 book ai didi

asp.net-mvc - 使用 IOC 预填充 MVC 模型 - 缓存的替代方法?

转载 作者:行者123 更新时间:2023-12-01 13:07:41 26 4
gpt4 key购买 nike

我正在考虑针对 ASP.NET MVC 站点的简单的 CMS 实现策略。简单的部分是我抽象了各种部分 View 中使用的值,所有这些都是共享相同 CSS 布局的用户控件。所以我在数据库中相同的部分 View 中填充自定义值,我可以偶尔使用 CRUD 修改它们。

不那么简单的部分是标准 UI 元素作为 sql 表行的合理高效和逻辑抽象。但抛开这些...

我知道我将使用一些 super 模型将部分 View 的预配置模型传递给每个页面。但是,如果它们是预先配置和预先加载的,那么在调用之前将它们放在哪里?

让我觉得这样做有点疯狂的部分是本质上静态数据的加载时间。但话又说回来,SharePoint!

那么(我认为)为什么不在 application_start 中加载它呢?为什么不?我回答!然后我开始使用 IoC 做一些事情,即使是一个曾经认为这可能是一个理智的想法的聪明人,谷歌也不会返回一个指向良好信息的链接。

那么除了在构造函数中放置存储库调用之外,有没有人有更好的想法来使用 IoC 容器从数据库中填充模型?

然后,有没有人认为将这些静态数据模型放在 Controller 可访问的 IoC 容器中是一个愚蠢的想法?

谢谢,

S·马奇诺

最佳答案

遵循几个 SOLID 原则,尽可能保持你的东西一心一意。对于半静态数据,首先创建一个加载此数据的存储库。这将为每个请求加载数据。它有效,但可能表现不佳,但现在您有了所需的实现。

您可以做的下一件事是使用缓存存储库装饰第一个存储库。这个 CachingRepository 只会从装饰的 Repository 中读取一次,然后将数据保存在内存中。

因此,您尊重关注点分离。

如果您将 CachingRepository 实例范围设置为单例,它将一直存在,直到应用程序被回收,有效地将缓存的数据保留在内存中。

关于asp.net-mvc - 使用 IOC 预填充 MVC 模型 - 缓存的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1859444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com