DDD仓储
-
多个domain黑匣论
2 1437 2理论总是绕口的,特别对我这种懒人。只能说我懒,不能说理论无用。那么标题“多个domain黑匣论”,简单的来说就是让领域层本身可以分为数个领域,下面以jsdm代码为例(记住:jsdm是nodejs框架还.
-
ORM真的不适合DDD
52 17375 15 2K第一篇帖子,先自我介绍一下,我从07年开始关注并实践DDD,也一直在关注jdon的成长(虽然一直没有注册ID并发言)。自己的tech stack是.NET阵营的,一致也在致力推广.NET下DDD的实践.
-
今天终于在一个大型项目中运用了DDD
25 24663 20先说说之前几次DDD项目失败的案例,其实也不能算是失败,只是没有领会DDD的思想。之前的DDD是建立在数据层之上的,首先是每张数据表对应一个数据实体,每个数据实体由泛型的DAO管理,DAO又被数据上下.
-
领域仓储Repository的in-memory伪真
2 2650CQRS在设计上由于考虑到领域模型的事件原还,所以需要将大量的Event持久化到EventStore中,这样就需要与数据库打交道,对于Repository的每一个保存操作,一定会与DB有所交互,这使得.
-
增删改是Respository的职责,还是Entity的职责?
12 4161 3如果要删除指定标识的实体,是由Respository来操作,还是Entity本身来操作?从业务角度来看,入库、出库都需要记录,删除操作自然应该放在Respository。可是Respository并不.
-
CQRS批量操作的性能问题
7 2790假设Book是一个聚合实体,现在要删除某一个Book没有问题,通过仓储Repository加载实体,然后调用其delete方法即可,但现在问题来了,如果DB中有上万个Book需要一次性批量全部删除,那.
-
面向事件数据库Event Oriented Databases: 一种新的持久范式
5 5877 10NoSQL数据库大比拼: Cassandra, HBase, MongoDB, Riak的测试结果可以得出:根据不同的应用特点选择不同的NoSQL,没有万能的NoSQL数据库。主要选择依据是读写比例,. -
采用DDD开发信息发布系统(三)Repository
1703搞了半天,我发现领域对象搞明白了,落地的时候最需要搞明白的应该是 Repository 的机制,所以又要返回来开发Repository。Repository应该包含如下的元素和方法。function .
-
信息发布系统的DDD的设计分析
4 1589信息发布的DDD设计分析:需要的实体类Info 信息User 用户Approver 帖子审查员Admin 管理者PostInfoServicedeleteInfoServiceupdateInfoSe.
-
关于DDD的Repository仓库需要哪些方法?
1 1674DDD的仓库我想到一下方法,还需要哪些方法呢?function Repo(){}var r = Repo.prototype;r.create = function(cb){};r.find = fu.
-
关于DDD学习过程中的一些疑问
12 3785 4目前DDD关于概念,设计思想讨论了比较多。但在编码过程中还是涉及到了一些问题:实体类中如果有个值对象的列表,那我要获取这个列表应该怎么做? 如账户实体中的角色列表: List<Role> getR.
-
DDD仓储怎么设计
7 2100我发现现在的设计基本是一个DAO对应一个表,这种设计好像不是很好。如何改进?.
-
仓储与工厂的疑问
3 1435 1工厂是负责在内存中创建对象。仓储是类似一个集合,负责对象的保存、删除、获取。前提: 系统中的数据不需要持久化,全部在内存中。我的疑问是:1、通过工厂创建的对象实例,是否已经在系统里了? 存在:.
-
MongoDB 在 Spring的数据应用
1 2036 6Getting started with MongoDB and Spring Data | Jeroen Reijn MongoDB 作为非关系数据库,和关系数据库一样,可以作为系统的Reposit.
-
关于Repository的唯一对象之传说
2 1596 1传说是这样的,对象其实真实的实体存在于两个地方,一个是DB,一个是Repository的地方。但是访问这些对象的“人”,有两个目的,一个是只是看一看,就好像是没钱的男人进入迪吧(DB)一样,只能是看一.
-
Repository的事件驱动
3 1953 1在零星的DDD DCI概念中,我们了解了也掌握了一些软件的控制权,同时我们还在为信息如何交流抓头,当然有很多方法,事件驱动就是一个很好的办法,同时怎么进行事件驱动呢?第一,可以用 EventBar方式.
-
聚合根内实体的CRUD如何处理?
1 3350 1如题,如果是聚合根的话,CRUD是通过仓储来处理的可以理解,但是如果是被聚合的内部实体,他没有仓储,他的CRUD在何处处理呢?直接在聚合根的部位进行么?那不是就在领域层加入了持久层的操作了么?我想了一.
-
仓储里面的缓存多对多关系怎么设计
3 2414 2我在仿照领域驱动设计重构了系统,当我在添加缓存功能的时候发现有点难度,希望老师指点.我举一个例子:用户--角色 多对多关系用户和角色都属于聚合根,因此应该都同时对应的repository,同样具有对应.
-
请教一个建模问题
4 1563 1一个按照合同分期付款的需求,现在我自己理解的划分:实体:合同(聚合根),合同付款计划,合同付款核销记录实体:客户(聚合根)实体:付款记录(聚合根)值对象:合同状态,属于合同Service:核销问题:客.
-
关于值对像的,列表检索
3 1111 1好久不见,大家还好吗?我今天又遇到一个问题,还想求教,望指点一二。现在项目组在做一个物流项目,有一个检索商品的功能,我把商品抽象成了一个实体(ITEM),它含一个叫MANUFACTURE属性,MANU.
-
请教banq老师一个repository的问题
12 3588 5repository是针对聚合跟建立还是针对实体对象啊?比方说员工是聚合跟,考勤记录是员工的一个属性,是个list;我是对应聚合跟 Employeerepository我想添加一条考勤记录的话,em.
-
仓储上升为架构是一个难题
5 1304复杂的sql条件是死穴,看来还是逐个定制来得方便。例如有些人获取某些超复杂条件的实体集,虽然可以用一个条件类来实现常用的条件封装,但感觉自己还是有点力不从心。有谁可以说说sql如何全面用一个类来代替呢.
-
把Repository上升到框架时,实体平铺遇到问题
13 1859一旦实现平铺,那么缓存的“<唯一标识,实体>对”就不能替换实体对象了,所有修改都要基于值对象(实体状态)修改。不能替换的理由:cache是以替换对象来更新“key,value对”的,B1聚合于A1(A.
-
值对象持久化也用ManyToOne吗?
4 1954我的问题是:public class SomeModel{@ManyToOnepublic Money money;}注意上面那个 @ManyToOne,请大家看一下这样合适不?Money 在这个环境.
-
如何写好仓储Repository?
7 5508 11 7KHow To Write A Repository仓储Repository模式已经成为最主流的模式,数据库持久化很长时间以来是一个讨论热点,目前主要问题是:主流软件并不容易有效地将需要存储的数据映射到.
-
关系数据库和NoSQL结合使用:MySQL + MongoDB
5 10040 11Home Page作者使用一个案例来说明MySQL+MongoDB结合使用,发挥各自所长,并且认为他们互补性很强。当然,这其中不可避免引入DDD中的编程设计模式 Repository仓储模式,通过它能.
-
当DAO遇到ORM
3 2580 2很久没有写过hibernate的代码,现在回头想重新看一下但是却有了很多新的思考,最重要的一个就是DAO对象与hibernate提供的session,在没有ORM框架的时候我们只能使用JDBC,对.
-
一个想法,不知能否实现。
19 4949 2java是面向对象的, 但是现在很多的java系统全是面向过程的。为什么? 我觉得一个很重要的问题。是因为是因为我们大部分系统都是数据库系统,基本上就是crud。 这束缚了我们的思维。使我们在碰到.
-
启动JiveJdon的REST版以及NOSQL版探索项目
10 5278 10开始这个项目的目的是找出我的那个小巧restful框架的不合理之处,准备深入实践运用REST,DDD,DCI,CQRS,NOSQL,EDA等思想。探索DCI是否可以植入框架,DDD中的领域模型是否可以. -
Repostiory是这样用吗?
8 1639在过去的系统中,文章评论数是一个单独的字段放在数据库中,这样看似效率变高了,不用每次都去统计评论数。但这样也出现了一致性问题。DDD是不是让我们以文章为聚合根,在ArticleRepostiory中去.