今天和大家介绍一下一种特殊的设计模式——仓库模式(repository pattern)
什么是仓库模式(repository pattern)
Martin Flower对此的定义是领域模型层和数据映射层中间的间接层。它封装了一系列数据库对象以及对应的操作。实现了领域模型和数据访问层的解耦。
Repository 模式作用
试想一下,在你的程序中,有多处地方需要查询,修改数据。
你肯定不希望在各个地方重复书写数据访问代码,所以你会将其放置在同一处地方(数据访问层)。
这在大部分场景下都能够满足要求。
但是如果你是使用模型驱动开发的方式进行软件开发,那么就很容易发现这样一个问题——领域模型的格式和数据库的格式不一致。