一尘不染

为什么要在Dao设计模式或其他设计模式中使用界面

hibernate

请参阅以下Dao设计模式的组件:

数据访问对象模式或DAO模式用于将底层数据访问API或操作与高层业务服务分开。以下是数据访问对象模式的参与者。

数据访问对象接口-此接口定义要在模型对象上执行的标准操作。

数据访问对象具体类-此类实现上述接口。此类负责从可以是数据库/ xml或任何其他存储机制的数据源获取数据。

模型对象或值对象-此对象是简单的POJO,其中包含用于存储使用DAO类检索的数据的get / set方法。

当我们有一个具体的类时,为什么我们需要一个接口,为什么我们不能直接使用它?这可能是一个幼稚的问题,但请帮助我弄清楚这一点。不仅在DAO设计模式中,而且在其他设计模式中,对INTERFACE的使用也有些混乱。我同意这与代码的可重用性和减少的耦合有关。但是任何人都可以进一步解释。


阅读 356

收藏
2020-06-20

共1个答案

一尘不染

不仅在DAO设计模式中,而且在其他设计模式中,对INTERFACE的使用也有些混乱。

接口
是Java中最常用的概念之一。让我用一个例子来说明这一点:假设您设计了一个用于汽车的GPS设备,该设备可以查看地图并自动将汽车转向地图上所示的方向。该GPS设备可用于许多汽车,例如奔驰,菲亚特等。对于每辆汽车,向左或向右转弯的机制可能会有所不同,具体取决于汽车系统的实现方式。因此,这些
功能 应由汽车制造商编写,因此将这些方法放在一个接口中,该接口由汽车制造商根据其汽车的实现来实现。该接口仅包含一组由汽车制造商定义的功能
声明 (在这种情况下)。得到它了?

要了解有关接口以及它们为何有用的更多信息,请阅读本文

我的问题是:当我们有一个具体的类时,为什么我们需要一个接口,为什么我们不能直接使用它。

在下面的答案中指出的许多其他好处中,您可以为实现DAO接口的不同数据构造函数(derby
db,巨大的堆栈等)创建许多DAO类。好处是,每个类都可以存储在DAO接口变量中,该变量称为多态性

2020-06-20