repository-pattern相关内容
在我的应用程序中有几层。 在本主题中,重点是域和基础结构层。 我在域层中具有存储库接口ClientRepositoryInterface。 并且我已经在基础结构层中实现了此接口ClientRepositoryImpl。 但是要在对象存在的周期的中间重新构造该对象,我需要工厂(ReconstitutionClientFactory )。 致电工厂将在资源库中。 Eric Evan
..
示例:您的数据库具有一个名为“ CustomerOrdersOnHold”的SQL视图。该视图返回特定客户和订单数据字段的混合过滤。您需要从应用程序中的此视图中获取数据。对这种视图的访问如何适应存储库模式?您将创建“ CustomerOrdersOnHoldRepository”吗?这样的只读视图是否被认为是聚集根? 解决方案 我宁愿分离读取存储库,最好甚至更改它的名称为Finder或Re
..
我正在寻找一个遵循我的ASP.net MVC应用程序的域驱动设计原则的存储库模式实现示例/资源。有没有人有一个很好的例子或可以共享的学习资源?项目已通过Linq到C#在SQL中实现了存储库。 http ://blog.wekeroad.com/ 来源可用。 他不太做严格的DDD,但他的TDD通常会将他驱逐出该方向。一个警告是,他有多个没有聚合根的存储库,因此它与教科书中的示例相去
..
我一直在努力解决与DDD相关的规范问题,并且已经阅读了很多有关DDD以及规范和存储库的信息。 但是,如果尝试在不破坏域驱动设计的情况下将所有这三个方法结合起来,则会出现问题。归结为如何考虑性能而应用过滤器。 首先有几个明显的事实: 获得DataAccess / Infrastructure层的存储库 域模型表示业务逻辑并转到域层 数据访问模型表示持久性层并转到Persista
..
我刚刚开始使用DDD,所以也许这是一个愚蠢的问题... 实体是否可以访问存储库(通过某些方法) IRepository接口)在运行时获取值?例如,我要对属性强制执行“默认”选择: class Person { private Company _employer ; 上市公司雇主{ get {return _employer; } set { if(value!= nu
..
Doctrine 2.1中似乎有一个不为人知的地方,要返回一个关联的子集 并不容易。 http:// www。 doctrine-project.org/docs/orm/2.1/en/reference/limitations-and-known-issues.html#restricing-associations 文档建议编写一个存储库查找方法,这很有意义,因为那是我要做的第一
..
首先,我们知道,取决于查询中的列数,可能会增加响应时间。 在Doctrine中,调用以下存储,这具有关系 公共功能index() { } $ this ->学生= $ this->模型-> getRepository()-> findAll(); } 但是考虑到我之前给出的声明,该存储库的返回是 还有其他问题。我可以选择要返回此存储库的列吗?例如,存储库
..
我对存储库的聚合对象有一些疑问。 我正在使用DDD / UoW / Repo和Service模式进行Rest Service。我们新的云Web应用程序将使用此服务。为此,我们还必须同步仍在生产中的旧数据库中的数据。我们创建了一个“ SyncService”,可以读写云中的数据,甚至可以读写到地球。 在我的Rest / DDD设计中。而且我不希望在这些基础上运行业务逻辑,因此在原始测试项
..
我正在尝试找出存储库模式的正确定义。 我最初的理解是(非常愚蠢) 将业务对象与数据对象分开 在数据访问层中标准化访问方法。 我确实看到了两种不同的实现方式,并且在线上没有正式的示例,我见过的示例被藏在书中。 实现1: 公共接口IRepository { List得到所有(); void Create(T p); void Update(T
..
现在,我正在尝试找出一种使事情变得更聪明的方法,在这样做的过程中,我设法做到的是在一天之内使用一整瓶Exedrin。 假设我有一个名为IRepository的接口。 公共接口IRepository { T Get(int id); void Add(T value); void Update(T value); void Delete(T value);
..
尝试创建一个通用存储库类,以使用依赖项注入,工作单元和存储库模式在C#中实现基本的CRUD操作。 我对这些概念很陌生。以下是我的代码。 公共接口IUnitOfWork { IApplicationUserRepository Users {get; } ICompanyRepository公司{get; } void Complete(); } 公共类Un
..
我找到了
..
我正在遵循下面链接的示例,以设置与我的服务层一起使用的统一性。我的项目的设置与本文中的非常相似,并且我了解所有内容,但为什么在注册服务依赖项时确切使用了PerThreadLifetimeManager。请记住,我还使用了在我的服务层中也使用的通用存储库和单元。大多数统一示例都使用默认(瞬态)生存期管理器,并且由于我的设置与下面的类似,所以我想知道为什么我应该使用PerThreadLifeimeMa
..
我的应用程序越来越大,到目前为止,我只有一个 MyDbContext ,其中包含我的应用程序中需要的所有表。我希望(出于概述的目的)将它们分成多个 DbContext ,例如 MainDbContext , EstateModuleDbContext , AnotherModuleDbContext 和 UserDbContext 。 我不确定如何完成此操作,因为我现在正在使用依赖注入(ni
..
我已经阅读了很多关于什么是存储库的主题,但是仍然困扰着我。 据我了解,存储库之间的唯一区别和传统数据访问层是存储库的查询构造功能(即 Query Object pattern )。但是,当阅读以下 Repository Pattern 的定义时,即使我们没有实现 Query Object pattern ,似乎我们仍然可以拥有 Repository : a) 发件人: 存储库是
..
当前,我正在尝试将Dapper ORM与工作单元+存储库模式一起使用。 我想使用工作单元,而不是简单的dapper存储库我的插入和更新需要一定程度的交易处理。我一直找不到任何有用的示例,因为大多数人似乎都使用Entity Framework,并且在工作单元中存在泄漏问题。 有人可以指出正确的方向吗? ? 解决方案 此 Git项目非常有用。我从相同的位置开始,并根据需要进行了一些
..
我尝试使用此泛型函数来插入-更新实体,但我一直认为也许我这样做完全不对,所以我想征询您的意见/建议。 这些是我的插入&更新功能: 公共静态布尔值Insert(T项目),其中T:类 { 使用(ApplicationDbContext ctx = new ApplicationDbContext()) { 试试 { ctx.Set()。Add(item); ct
..
因此,经过大量阅读之后,我现在意识到,复杂的报告功能不属于您的典型存储库,并且需要某种专用的“ Finder”来返回仅用于报告的只读对象。 我不清楚什么是“ Finder”类及其关联的ReadModel类应该放在我的项目中?查找器是否像存储库一样,您在基础结构程序集内部拥有查找器的接口以及具体的Readmodels? 这些类在哪里? 解决方案 我通常有一个逻辑查询“图层”。这是
..
我不确定应该在我的存储库模式中在哪里实现缓存。 我应该在服务逻辑中还是在存储库中实现它? p> GUI-> BusinessLogic(服务)-> DataAccess(存储库) 解决方案 我将在存储库/数据访问层中对其进行处理。原因是因为它不取决于从何处获取数据的业务层,即存储库的工作。然后,存储库将根据数据访问逻辑的情况,决定从何处,从缓存(如果不是太旧)或实时数据源中获取
..
我想知道是否有办法为Xamarin项目编写通用存储库,而不是为对象中的每个实体编写不同的存储库。 Xamarin Tasky Pro 示例具有一个用于任务实体,因为它是它唯一的实体。 在我自己的项目中,我有多个实体,所以我的问题是如何使 成为实体。跟随客户资料库变得通用,以便ProductManager,EmployeeManager等可以使用它。如果您知道示例或博客文章,请为我指明正确的
..