一个类是否还要负责将自己的数据存储到db?

时间:2013-09-30 19:37:26

标签: c#

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

我的问题是,这个课程还应该有" SaveRectangle"," GetOneRectangle"," GetAllRectangles"," EditRectangle"处理SQL操作还是有其他好的做法?

1 个答案:

答案 0 :(得分:3)

我建议您查看Martin Fowler's "Patterns of Enterprise Architecture"

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

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