为考试做准备,它要求:
存储库体系结构的哪些关键方面可以将其与客户机-服务器体系结构区分开来?
我对此的回应是:
存储库体系结构是可以被多个组件访问以存储和编辑数据的集中式数据,一个组件上的更改被复制到所有组件上,数据在客户端被处理。客户机-服务器可以有多个服务器和客户端相互交互以提供服务,数据和服务在服务器端进行处理。
这是正确的吗?你认为这能回答这个问题吗?我还觉得Client和Repository不是那么容易比较,因为您可以在客户机-服务器体系结构中运行一个存储库系统。
发布于 2018-11-05 08:06:19
我不同意。存储库无疑是实现客户机-服务器模式的一种方法,特别是服务器端。拥有服务器意味着存在至少一个客户端。即使在某个地方没有集中式数据库,仍然存在可能是客户端本地的数据层。如果没有数据层的,那么数据层的仅限于“内存中”应用程序:它们根本没有状态(例如,包括没有用户设置)。我想你的问题不限于这些。
保留存储库模式的思想是提取数据IO、实现细节的必要条件。它隐藏了数据库的某些结构、适当的IRepository类中的配置、映射和(很少)验证逻辑。通常,这些人都是通用的,所以程序员在处理IRepository<T>时会附加一些附加的T约束。因此,有了这样一个接口,您就可以: 1)同时使用不同的概念数据库,保持其他代码不了解它们的主要差异(想象传统的SQL以及基于图形的数据库),2)替换不同的数据库而不对外部世界进行任何更改:比方说,您决定摆脱MSSQL,转而使用Neo4j,反之亦然;最后,最后但肯定不是最不重要的,您得到了某种“责任”-数据IO的锋利边缘。它作为一个方便的扩展点注入扩展,如验证或日志记录。
https://stackoverflow.com/questions/53052956
复制相似问题