仓储设计实现问题之仓储应该是一个集合实例,并且无法对仓储进行重复的放置如何解决

简介: 仓储设计实现问题之仓储应该是一个集合实例,并且无法对仓储进行重复的放置如何解决

问题一:面向集合的资源库模式有什么特点?面向持久化的资源库模式的核心点是什么?


面向集合的资源库模式有什么特点?面向持久化的资源库模式的核心点是什么?


参考回答:

面向集合的资源库模式提出的是完全按照集合的理念去设计仓储,就像它就是Set数据结构一样。它能够自动跟踪聚合实体的变化。

面向持久化的资源库模式的核心点是合并了插入和更新这两种操作,统一用save()操作完全取代仓储旧实体,使得仓储的功能更统一。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/654265


问题二:在内存仓储的实现中,Vaughn Vernon提出的面向集合的仓储是如何体现的?


在内存仓储的实现中,Vaughn Vernon提出的面向集合的仓储是如何体现的?


参考回答:

在内存仓储的实现中,Vaughn Vernon提出的面向集合的仓储是通过使用如HashMap这样的集合数据结构来体现的。比如,在给出的例子中,CalendarRepository类继承了HashMap,并使用其来管理Calendar聚合实体的生命周期。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/654266


问题三:为什么仓储应该是一个集合实例,并且无法对仓储进行重复的放置?


为什么仓储应该是一个集合实例,并且无法对仓储进行重复的放置?


参考回答:

仓储作为集合实例是因为它负责管理聚合实体的集合,不允许重复的放置是为了保证仓储中每个聚合实体的唯一性。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/654267


问题四:在Vaughn Vernon的例子中,从仓储获取的聚合实例与放置在仓储中的实例有什么关系?


在Vaughn Vernon的例子中,从仓储获取的聚合实例与放置在仓储中的实例有什么关系?


参考回答:

在Vaughn Vernon的例子中,从仓储获取的聚合实例与放置在仓储中的实例具有完全一样的状态,即它们是同一个对象的引用。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/654268


问题五:如果在仓储之外对聚合实例进行了修改,为什么无需“重新保存”聚合实例?


如果在仓储之外对聚合实例进行了修改,为什么无需“重新保存”聚合实例?


参考回答:

因为仓储中持有的是聚合实体的引用,对引用指向的实体进行的修改会直接影响仓储中的实体状态,因此无需再次“保存”。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/654269

目录
相关文章
|
存储 安全 数据库
蓝易云 - Nexus2迁移升级到Nexus3
请注意,这只是一个基本的迁移步骤,具体的步骤可能会根据你的具体情况有所不同。在进行迁移之前,你应该仔细阅读Sonatype的官方迁移指南,并确保你理解所有的步骤和可能的风险。
436 1
|
算法 数据安全/隐私保护 C++
【C/C++ 编程题 03】用两个栈实现一个队列的功能
【C/C++ 编程题 03】用两个栈实现一个队列的功能
97 0
|
JSON Kubernetes 数据安全/隐私保护
Kubectl
Kubectl 是一个命令行工具,用于管理 Kubernetes 集群。它可以用来创建、删除、更新和查询 Kubernetes 资源,例如部署、服务、副本集等。Kubectl 提供了丰富的命令和选项,可以满足各种管理需求。
184 3
剑指Offer - 面试题64:求1+2+...+n
剑指Offer - 面试题64:求1+2+...+n
172 0
|
机器学习/深度学习 算法 TensorFlow
【入门必备】史上最全的深度学习资源汇总,速藏!
之前,我们推荐过一期史上最全TensorFlow干货文章,今天,收福利的机会又来了,本篇文章将针对深度学习资源进行一下汇总,欢迎转发、点赞、收藏。
4169 0
|
缓存 Java C#
SuperSocket与Netty之实现protobuf协议,包括服务端和客户端
今天准备给大家介绍一个c#服务器框架(SuperSocket)和一个c#客户端框架(SuperSocket.ClientEngine)。这两个框架的作者是园区里面的江大渔。 首先感谢他的无私开源贡献。
1205 0
|
Linux 数据安全/隐私保护 Shell