先说明下是怎么使用dao的接口和工厂模式的(甚至包含抽象工厂模式)
1.当我们建立一个系统的时候,我们并不知道将要要用到什么样子的数据库,而且有可能随着
变化我们用到的数据库也有可能就被别的好的数据库代替。这个是使用dao接口及抽象工厂模式的前提
2.比如我们有一个user对象,我么对其操作要建立uerdao,我们仅仅知道对其操作,但是具体的做要要在数据库里面实现,不同的数据库操作不要一样,因此我们分成多种dao。但是这些别的人员并不一定要知道,别人用的是dao,没有必要去知道我用什么数据库来操作。因此uerDAo是个接口
诞生了userMySQLDAO,userOracleDAO等等。有了这些以后,使用者仅仅用个到userDAo的方法就可以
但是新的问题又出现了
3.userdao是一个接口我怎么去使用,我不能new我怎么使用
于是就出来了factory工厂可以魏你建立一个你自己想要的DAO就可以了。factory.getUserMySQLDAO。如果factory是一个一般的类,那么我们必须知道是什么样子的工厂,是mysql的工厂还是oracle的 工厂。
因此要使用抽象工厂模式
辩论:
这样好吗?
这样的factory每次都在用new来创建对象。会不会造成资源的浪费那?
为什么我们不能用一个静态的办法来代替那?
比如我仅仅定义一个userdao的类
分享到:
相关推荐
5. **工厂类(Factory Class)**:用于创建DAO实例,可以是静态工厂方法,也可以是抽象工厂模式,提供统一的DAO对象创建入口。 **JDBC基础** JDBC是Java连接数据库的标准API,提供了与多种数据库交互的能力。在DAO...
- 使用DAO工厂模式创建DAO实例,以支持不同数据库的切换。 综上所述,Java DAO模式是企业级Java应用中处理数据库操作的标准方式。通过合理地设计和实现DAO,我们可以构建出健壮、可扩展的系统。在"Chapter08DAO...
在实际应用中,可以使用工厂方法模式创建DAO,必要时还可以采用抽象工厂模式。通过属性文件和反射机制,可以动态地创建DAO类的实例,使得系统更具灵活性。 MVC(Model-View-Controller)模式是Web应用中常用的设计...
### J2EE之DAO设计模式详解 #### 一、引言 在J2EE开发过程中,DAO(Data ...此外,结合工厂模式的使用,还可以进一步增强系统的灵活性和解耦能力。在实际的J2EE项目开发中,合理地运用这些设计模式是非常重要的。
同时,工厂方法模式也可以避免简单工厂模式的缺点,即当有新产品要加入到系统中时,必须对工厂类进行修改,以加入必要的处理逻辑。 工厂方法模式适合在如下场合中运用: * 当无法得知必须创建的对象属于哪个类的...
7. **工厂模式**:为了进一步解耦,我们可能会引入工厂模式来创建DAO对象,这样可以更方便地替换不同的数据访问实现。 8. **依赖注入**:在实际项目中,DAO实例通常通过依赖注入的方式获取,比如使用Spring框架的@...
5. **使用生成的DAO**:在业务逻辑代码中,通过依赖注入或工厂模式等方式获取DAO实例,然后调用其提供的方法进行数据库操作。 **四、DAO生成器的特性** 1. **节省时间**:避免手动编写大量的DAO代码,减少重复劳动...
使用codematic2时,开发者只需提供必要的配置信息,如数据库连接、表结构等,工具便会自动生成相应的实体类、业务接口及其实现、DAO接口及其实现、以及工厂类等代码。这样的自动化过程不仅节省了大量手动编码的时间...
2. **封装和隐藏实现细节:** 设计模式如工厂模式允许开发者隐藏对象创建的细节,只暴露必要的接口。 3. **减少耦合:** 数据访问对象模式有助于降低业务逻辑层与数据访问层之间的耦合度,使得两者可以独立发展。 4. *...
- **交友系统**:开发者实现了用户登录验证、用户列表展示、照片上传和交友功能,加深了对 Servlet、JSP 和数据库交互的理解,以及 DAO 和工厂模式的应用。 8. **教育背景和课程**: 开发者具有信息与计算科学...
2. Mapper代理开发:推荐使用,只需要编写DAO接口(即Mapper接口),以及对应的`mapper.xml`映射文件和`mapper.java`接口。 在编写`mapper.xml`时,有以下规则: - `namespace`应设置为`mapper.java`接口的全限定...
11. **设计原则与模式**:遵循单一职责原则、开闭原则等,以及适配器模式、工厂模式等设计模式,可以使代码更加灵活和易于维护。 12. **文档编写**:良好的软件工程实践要求有清晰的文档,包括需求文档、设计文档和...
提倡使用设计模式,如工厂模式、单例模式等,以提高代码复用和可扩展性。 4. **异常处理**:异常处理是Java编程中的关键部分。规范要求对可能出现的异常进行捕获并适当处理,避免使用空catch块。推荐使用具体的异常...
9. **设计模式**:除DAO外,可能还应用了其他设计模式,如工厂模式用于创建数据库连接,策略模式用于处理不同的交易类型,观察者模式用于实时更新用户界面等。 10. **单元测试**:为了确保系统的正确性,每个功能...
5. **Service 层**:业务逻辑通常在 Service 类中实现,如 `UserService.java`,它们调用 DAO 来执行数据库操作,并进行必要的业务验证和处理。 6. **DAO 层**:数据访问对象,如 `UserDaoImpl.java`,实现了与 ...
通过设计模式如工厂模式、单例模式等,可以使代码更易于理解和复用。 通过研究和学习这个"办公企业OA源码1",开发者不仅可以了解OA系统的实现原理,还能掌握相关技术的应用,为自己的项目开发积累宝贵经验。同时,...
- **使用设计模式**:例如工厂模式、策略模式等,可以帮助减少代码冗余。 - **自动化工具**:利用代码审查工具、静态分析工具等辅助发现并移除重复代码。 **3. 示例解析** - 举例说明如何通过重构将重复代码转化...
- **Executor**:执行器,MyBatis内部处理SQL的组件,有两种模式:SimpleExecutor和ReusedExecutor,分别对应简单的每次执行都新建连接和复用已有连接的策略。 - **ParameterHandler**:负责设置SQL参数,可以是简单...