当前位置: 首页 > 面试题库 >

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

梁成双
2023-03-14
问题内容

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

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

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

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

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

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


问题答案:

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

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


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

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

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



 类似资料:
  • 请参见以下Dao设计模式的组件: 数据访问对象模式或DAO模式用于将低级数据访问API或操作与高级业务服务分离。以下是数据访问对象模式的参与者。 数据访问对象接口——该接口定义了对模型对象执行的标准操作。 数据访问对象具体类-这个类实现上述接口。这个类负责从数据源获取数据,数据源可以是数据库/xml或任何其他存储机制。 模型对象或值对象——这个对象是简单的POJO,包含get/set方法,用于存储

  • 这种设计模式是否只适用于一个接口,因为我能找到的只是谈论由类实现的接口? 就像网站http://www.tutorialspoint.com/design_pattern/data_access_object_pattern.htm 如果我有很多接口,那么设计模式很好用,那么类图会是谁? 谢谢。

  • 问题内容: 当按以下方式将比较器应用于列表时,此处使用的设计模式是什么?使用的技术是什么? 问题答案: TL; DR : 是简单多态替换的示例,无论您使用 功能编程 还是 面向对象编程 进行此替换。术语 策略模式 不能与 多态性 或 函数编程 互换。 仍然可以说我们正在将排序传递给该方法,但是如果没有,则它不是“ 策略模式”的 同义词。 当按以下方式将比较器应用于列表时,此处使用的设计模式是什么?

  • 各大设计模式例子参考:CSDN专栏 . C++ 设计模式 系列博文 设计模式工程目录 单例模式 单例模式例子 抽象工厂模式 抽象工厂模式例子 适配器模式 适配器模式例子 桥接模式 桥接模式例子 观察者模式 观察者模式例子 设计模式的六大原则 单一职责原则(SRP,Single Responsibility Principle) 里氏替换原则(LSP,Liskov Substitution Prin

  • 一、概述 二、创建型 1. 单例(Singleton) 2. 简单工厂(Simple Factory) 3. 工厂方法(Factory Method) 4. 抽象工厂(Abstract Factory) 5. 生成器(Builder) 6. 原型模式(Prototype) 三、行为型 1. 责任链(Chain Of Responsibility) 2. 命令(Command) 3. 解释器(Int

  • 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 本教程将通过 Java 实例,一步一步向您讲解设计模式的概念。 现在开始学习设计模式! 谁适合阅读本教程? 无论您是新手,还是老手,本教程都值得一读。对于那些