首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在这种情况下,我应该继承电子书和印刷书吗?

在这种情况下,我应该继承电子书和印刷书吗?
EN

Stack Overflow用户
提问于 2022-09-14 11:10:36
回答 1查看 24关注 0票数 0

我正在开发有两种图书(电子书和PrintedBook)的图书馆管理系统。

我打算在同一个页面中同时使用电子书和打印本来进行搜索。

唯一的问题是我看到电子书和印刷书都是书。我应该创建一个图书实体,而PrintedBook和Ebook继承了Book。如果我这样做,通过使用IBookRepository,搜索能力就更容易了。如果没有,我必须连接两个表(电子书和PrintedBooks)。

请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-14 12:02:08

在持久层次上处理继承问题,特别是在谈到关系数据库时,可能是一个令人头痛的问题。首先,你应该问问自己,为什么这对你来说是个问题。

如果问题是由于在数据库查询中使用JOIN而导致的性能问题,您可能会看到称为单表继承的技术。基本上,您有一个包含所有图书类型(即PrintedBookEbook)的所有列的表。这样,JOIN**,就不必使用了,但是您需要牺牲一些存储空间**。

除此之外,混凝土表继承技术(正如您自己所描述的)没有其他方法来处理关系数据库中的继承问题。

如果您的应用程序变得太复杂,或者域模型与您的读取用例不兼容,那么您可以查看读取模型。Read-model帮助您将注意力集中在您的问题域上,而无需修改它,同时可以轻松地访问数据。这是一个非常复杂的主题,所以如果您想阅读一些有关读模型(或DDD实现问题/技术)的内容,我建议您阅读Vernon的实现领域驱动设计

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73715851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档