表模块和表数据网关模式
我正在学习j2ee的模式,有人可以告诉我表模块(域逻辑模式)和表数据网关(数据源模式)之间有什么区别吗? 谢谢
I'm learning about patterns of j2ee, can anybody tell me what the differences are between table module(domain logic pattern) and table data gateway (data-source pattern)?
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
表模块和表数据网关都是表级模式,但有一个非常根本的区别。
表模块是一种域逻辑模式,因为它可以包含与特定表相关的业务逻辑。
表数据网关应该仅处理数据库接口,不应该包含任何业务逻辑。将此处的“数据库接口”解读为“从表中插入/更新/删除/读取行”。
请注意 Martin Fowler 的定义清楚地说明了这种区别。
表模块:处理数据库表或视图中所有行的业务逻辑的单个实例。
表数据网关:充当数据库表网关的对象。一个实例处理表中的所有行。
(这里的“句柄”通常指的是 CRUD)。
Table Module and Table Data Gateway are both table level patterns, but with a very fundamental difference.
A Table Module is a Domain Logic Pattern in the sense it can contain the BUSINESS LOGIC related to a particular table.
A Table Data Gateway is supposed handle Database interface only and is not supposed to contain any Business Logic. Read "database interface" here as "insert/update/delete/read rows from a table".
Please note Martin Fowler's definitions which clearly specify this distinction.
Table Module : A single instance that handles the business logic for all rows in a database table or view.
Table Data Gateway : An object that acts as a Gateway to a database table. One instance handles all the rows in the table.
( "handles" here typically refers to CRUD).
对于表模块,请参阅:表模块
对于表数据网关,请参阅:表数据网关
一个用于映射数据库中的表,另一个用于mvc。
for table module see : table module
for table data gateway see : table data gateway
The one is for mapping tables in database and the other is for mvc.