在数据类中包含数据库查询是一个好主意吗?

时间:2009-08-18 06:02:15

标签: oop

如果我将数据库查询放在代表真实世界对象的类中,这是否违反了实体必须无法访问数据源的设计规则?

这是一个例子

class User
{
  public function register
  {
  }

  private function save_user_data()
  {
    // database queries here, either in AR or ORM
  }
}

3 个答案:

答案 0 :(得分:2)

引用Steve McConnell(代码完成[1,2]):

  

Sofware的主要技术要求是管理复杂性。

如果您正在编写大型应用程序,从长远来看,它将降低抽象数据访问的复杂性。如果您正在编写一个中小型应用程序,那么在对象本身内进行数据访问可能更有意义,只要您清楚并与之保持一致即可。

以一种有意义的方式降低复杂性。

答案 1 :(得分:0)

我个人认为保存类的责任应该是自己的,但是执行保存到数据库的实际代码应该进入数据访问层的类。

答案 2 :(得分:0)

非常清楚是的。但真正的问题是这个规则是否重要?我想这取决于。

就个人而言,我只是使用ORM为我生成所有这些东西。 LLBLGEN。