Agent and Repository

这是一个“架构模式”,它针对这样一类问题:我们有一组数据,它们会随机的被一些不同的对象进行修改。解决这一类问题的方案是,创建一个集中管理的数据仓库(data repository),然后定义一组自治的agent来操作这些数据,可能还有一个manager来对agent的操作进行协调,并保证数据仓库中数据的一致性。我们常见的源代码版本控制软件例如Perforce就是实现这种架构的典型代表:源代码都存放在一个统一的服务器中(或是一组服务器中,但对client而言是透明的),不同的程序员们使用各自的客户端对源代码文件进行读,写,加,删的操作。由Perforce负责保证源代码数据的一致性。
