一个类是否也应该负责将自己的数据存储到 db
本文关键字:自己的 数据 存储 db 也应该 一个 是否 | 更新日期: 2023-09-27 18:33:25
假设我有一个名为 Rectangle 的类,它有一些属性,例如:颜色、宽度、高度等。所以这个类肯定会描述这个对象,但我也想把这个对象保存到数据库,然后从数据库读取和创建对象。
我的问题是,这个类是否也应该有像"SaveRectangle","GetOneRectangles","GetAllRectangles","EditRectangles"这样的方法来处理SQL操作,或者有其他好的做法?
我建议你看看Martin Fowler的"企业架构模式"。
数据持久性有几种不同的模式。您描述的模式是"活动记录"。它绝对可以在短期内使事情变得更容易,但我发现在处理许多对象时它经常会导致问题。
我通常选择使用"数据映射器"和"表数据网关"模式的组合,将存储/检索问题与对象本身分开。这使我能够单独处理两者,并且可能更有效地处理。