多态关系是不好的做法吗?
Are polymorphic relationships bad practice?
我正在使用 Laravel 并且 运行 需要拥有类似于多态关系的东西。简而言之,它们似乎正好解决了我需要的问题,即能够根据类型存储不同的数据。
但是,我知道我无法使用任何约束,例如外键。而且我读到它们本质上是一种反模式。但我想知道其他人对此有何看法,以及是否有人在毫无问题地使用它们。
否则,有没有其他方法可以在不实际使用多态关系的情况下完成多态关系提供的功能? (使用 Laravel)
根据 mjolnic 评论,多态关系是一种反模式并且违反了最佳实践原则。
话虽如此,您从不将 json 存储在 BLOB 或 TEXT 列中吗? Wordpress 不存储在 mysql 中序列化的数据吗?
在现实世界中(大学以外),有很多情况下打破规则是个好主意。根据您的具体用例,打破它们可能是合适的。
简单的博客示例。你有帖子,你有页面。他们都需要完全相同的 table 格式。当将内容拆分为 posts
和 pages
.
时,从多态关系中获得的好处远远超过规范化以及开发和维护所付出的努力
我正在使用 Laravel 并且 运行 需要拥有类似于多态关系的东西。简而言之,它们似乎正好解决了我需要的问题,即能够根据类型存储不同的数据。
但是,我知道我无法使用任何约束,例如外键。而且我读到它们本质上是一种反模式。但我想知道其他人对此有何看法,以及是否有人在毫无问题地使用它们。
否则,有没有其他方法可以在不实际使用多态关系的情况下完成多态关系提供的功能? (使用 Laravel)
根据 mjolnic 评论,多态关系是一种反模式并且违反了最佳实践原则。
话虽如此,您从不将 json 存储在 BLOB 或 TEXT 列中吗? Wordpress 不存储在 mysql 中序列化的数据吗?
在现实世界中(大学以外),有很多情况下打破规则是个好主意。根据您的具体用例,打破它们可能是合适的。
简单的博客示例。你有帖子,你有页面。他们都需要完全相同的 table 格式。当将内容拆分为 posts
和 pages
.