请参阅以下 Dao 设计模式的组成部分:
数据访问对象模式或 DAO 模式用于将低级数据访问 API 或操作与高级业务服务分开。以下是数据访问对象模式的参与者。
数据访问对象接口 - 该接口定义要在模型对象上执行的标准操作。
数据访问对象具体类 - 该类实现上述接口。该类负责从数据源获取数据,数据源可以是数据库/xml 或任何其他存储机制。
模型对象或值对象 - 该对象是简单的 POJO,包含 get/set 方法来存储使用 DAO 类检索的数据。
当我们有一个具体的类时,为什么我们需要一个 INTERFACE 并且为什么我们不能直接使用它?这可能是一个天真的问题,但请帮我弄清楚这件事。不仅在 DAO 设计模式中,在其他设计模式中,INTERFACE 的使用也有点令人困惑。我同意这与代码可重用性和减少耦合有关。但任何人都可以进一步解释一下吗?
不仅在DAO设计模式中,在其他设计模式中也使用
INTERFACE 有点混乱。
接口是 Java 中最常用的概念之一。让我用一个例子来解释这一点:假设您设计了一个汽车 GPS 设备,它可以查看地图并自动将汽车转向地图中所示的方向。该GPS设备可用于许多汽车,如奔驰、菲亚特等。对于每辆汽车,左转或右转的机制可能会有所不同,具体取决于汽车系统的实现。所以,这些功能应该由汽车制造商编写,因此这些方法被放入一个接口中,该接口由汽车制造商根据其汽车的实现来实现。该接口仅包含一组功能声明由汽车制造商定义(在本例中)。知道了?
要了解有关接口的更多信息以及它们为何有用,请阅读本文 http://www.tutorialspoint.com/java/java_interfaces.htm.
我的问题是:当我们有一个具体的接口时,为什么我们还需要一个接口?
类以及为什么我们不能直接使用它。
在下面的答案中指出的许多其他好处中,您可以为不同的数据结构(derby db、巨大的堆栈等)创建许多实现 DAO 接口的 DAO 类。好处是,每个类都可以存储在 DAO 接口变量中,它被称为多态性 http://docs.oracle.com/javase/tutorial/java/IandI/polymorphism.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)