web*_*rc2 5 model-view-controller file-io design-patterns
在传统的 MVC 应用程序中,哪个组件(模型、视图或控制器)负责从磁盘读取/写入模型?
简短的回答:模型层。
大多数存储形式都是模型层的一部分(模板和类的自动加载器除外)。在完全实现的模式层中,您将拥有一组直接与低级存储(SQL、缓存、REST API、noSQL、文件系统等)抽象交互的对象。
如果您的应用程序正在主动读取和写入文件系统(它实际上可以挂载远程 MemoryFS,您可以通过 SSH 隧道通过 Fuse 挂载它。没关系),这将由处理存储逻辑的结构来处理。通常是某种形式的数据映射器(认为它也可能是存储库、工作单元、DAO和/或一些类似的结构)。
存储抽象通常负责在域对象中存储数据以及从域对象中检索数据。在大规模应用程序中,域对象和存储逻辑结构之间的交互包含在服务中,以隔离应用程序和域业务逻辑,以免在表示层中泄漏。