2

假设我有一个名为 Rectangle 的类,它有一些属性,如:颜色、宽度、高度等。所以这个类肯定会描述这个对象,但我也想将此对象保存到数据库,然后从 db 读取和创建对象。

我的问题是这个类是否也应该有处理 SQL 操作的“SaveRectangle”、“GetOneRectangle”、“GetAllRectangles”、“EditRectangle”等方法,还是有其他好的做法?

4

1 回答 1

3

我建议您查看Martin Fowler 的“企业架构模式”

数据持久性有几种不同的模式。您描述的模式是“活动记录”。它肯定可以在短期内让事情变得更容易,但我发现它在处理许多对象时经常会导致问题。

我通常选择使用“数据映射器”和“表数据网关”模式的组合,将存储/检索问题与对象本身分开。这使我可以分别处理,并且可能更有效。

于 2013-09-30T19:44:05.237 回答