gpt4 book ai didi

asp.net-mvc - MVC 存储库模式 - 访问其他存储库

转载 作者:行者123 更新时间:2023-12-04 02:37:46 25 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我有一个存储库 内部(在某些方法上)需要使用 另一个存储库 .

我想把 对构造函数的所有依赖 ,将接口(interface)作为参数传递。但是我不知道如何处理这种特定情况。

我应该也通过这个存储库 作为论据?即使我不会在里面的每个方法上都使用它?

谢谢

最佳答案

使存储库依赖于另一个存储库没有任何问题。而且,是的,将其作为参数传递

我假设您正在进行依赖注入(inject),特别是构造函数注入(inject)。

实例化一个额外的存储库,有时不会使用它(因为并非所有方法都使用它)它并不是一个可怕的开销,让你避免它。如果它是更昂贵的资源(例如打开文件或数据库连接),您可以使用一些替代技术。例如,在具有支持字段的属性中公开第二个存储库,该支持字段在使用服务位置对属性 getter 的第一次调用中填充,即直接在容器中找到它,或者提供更智能的解决方案,但提供了一些 DI 框架,其中自动做这种事情,like Unity's Lazy and similar solutions .

但我坚持认为,在这种情况下,开销并不能证明它是合理的。

注意:如果你有一个依赖循环(循环依赖),你也可以使用属性或惰性技术来打破循环并使其工作。但是,在这种情况下,最好重构您的类(提取第三个类)以避免循环引用。这不是你的情况。

关于asp.net-mvc - MVC 存储库模式 - 访问其他存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532594/

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