- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我开始使用 Windsor 时,我认为 DI 会很简单。现在它让我越来越困惑。
在我看来,存储库是一个具有单例生命周期的类。我应该有一个 FooRepository 实例来在应用程序的生命周期内将 Foos 加载和保存到数据库。
但是,每个存储库都包含对 UnitOfWork 的引用,它执行脏检查、与数据库一起工作等。UnitOfWork 的生命周期为 PerWebRequest - UnitOfWork 是一个单例根本没有意义,因为单例实例可以(例如)同时刷新多个用户 session 所做的更改。
然后我有一个单例 FooRepository 保存对 UnitOfWork 的引用,它在 session 结束时被处理掉!我什至不确定这会对存储库的行为产生什么影响,但这听起来不太好。
谁能用简单的英语(好吧,也许用一些代码)解释在网络应用程序中管理 Repository 和 UnitOfWork 类的生命周期的适当方法?
最佳答案
经验法则是 - 组件不应该依赖于其他会长于它的组件。
换句话说,transient 可以依赖单例或每个网络请求组件,但反之则不行。
我处理 Repository - UoW 场景的方式是我的 UoW 是每个 Web 请求,但存储库是无状态和 transient 的。
关于caSTLe-windsor - 使用 CaSTLe Windsor 的存储库类的适当生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776975/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!