DAOImpl接口

时间:2015-09-06 07:32:07

标签: java spring dao

在Spring中,在创建DAO类来访问数据库时,我还实现了DAO接口。即:

$input = array(32 => 2, 99 => 4, 100 => 4);

foreach ($input as &$key => $value)
{
    $key = chr($key);  // I want to change the ascii character to a letter
}

为什么要实现界面?为什么“公共级员工DAOImpl”还不够?谢谢。

2 个答案:

答案 0 :(得分:4)

“编程到接口,而不是实现。”是一个基本的OO设计原则。遵循这一原则使您的代码更具可扩展性。我们来举一些例子:

  1. 如果您正在为将调用EmployeeDAO的高级服务编写一些测试用例,您可以简单地编写一个实现EmployeeDAO接口的MockEmployeeDAO类,然后您就可以模拟测试的许多场景而无需实际查询数据库。
  2. 如果可能需要更改数据层的实现,例如,从关系数据库迁移到NoSql DB,或添加缓存层。对DAO接口进行编程可以在不修改上级代码的情况下进行更改。
  3. 如果您目前没有看到任何好处,请遵循原则。我相信你将来会受益。

答案 1 :(得分:1)

这个问题与此链接几乎相似

Using interfaces for writing DAO classes

我希望这会清除你的怀疑