【问题标题】:Database communication in modular software?模块化软件中的数据库通信?
【发布时间】:2011-12-16 20:14:34
【问题描述】:
我正在构建具有模块化设计的网络应用程序。
我有整个应用程序的 ER 数据库架构。
那里的表按它们将被使用的模块分组。
将会有核心模块,我计划添加依赖于该核心的新模块,即需要来自核心模块表的数据。
当NEW模块需要访问核心表时,我应该遵循哪些做法:
1.为了阅读,
- 一个。可以从核心表中读取还是我需要构建接口
在核心模块中?
- 乙。使用核心表进行 JOIN 操作是一种好的做法吗?
2.出于写作目的,
【问题讨论】:
标签:
database
software-design
modularity
【解决方案1】:
您的应用程序设计中应该有一个数据访问层 (DAL),用于抽象数据库。唯一应该了解物理数据库的模块是 DAL。所有其他模块都应从 DAL 获取数据。
所以
- 1a。不要从表格中读取。使用接口 (DAL) 进行读取和
写作。模块不需要知道数据的来源
来自。
- 1b。使用连接没有任何问题。连接是一个
SQL 的基本方面。
【解决方案2】:
视情况而定。
如果您不从其他模块访问核心表,您将获得更好的模块化。但是您的性能也会降低,特别是如果您不使用连接。
如果没有特定要求,我通常不会教条式地不跨模块访问表。就像未安装模块时模块的数据库是独立的或不存在的。