java的工厂模式(备忘)
来源:互联网 发布:redhat7 yum源配置 编辑:程序博客网 时间:2024/05/22 00:53
一、java工厂模式
1、一般情况下,我们如果调用接口,就会知道它的实现方法,比如:
UserDao ud=new UserDaoImpl();这样就跟我们设计接口相背离,接口的思想就是“封装隔离”,通常提到的封装是对数据的封装,但是这里的封装是指“对被隔离体的行为的封装”,或者是“对被隔离体的职责的封装”;而隔离指的是外部调用和内部实现,外部调用只能通过接口进行调用,而外部调用是不知道内部具体实现的,也就是说外部调用和内部实现是被接口隔离开的。
在java程序设计里面,非常讲究层的划分和模块的划分。通常按照三层来划分java程序,分别是表现层、逻辑层、数据层,它们之间都是用接口来通讯的。
图1 基本的三层结构示意图
图2 一个层内部的各个模块交互示意图
所谓组件,从设计上讲,组件就是能完成一定功能的封装体,小到一个类,大到一个系统,都可以称为组件,因为一个小系统放到更大的系统里面去,也就是当个组件而已。
2、问题:在java编程中,出现只知道接口而不知道实现,该怎么办?就像上述的例子,在client中,它知道要使用UserDao接口,但是不知道由谁实现,也不知道如何实现,从而得不到接口对象,就无法使用该接口,该怎么办?这个问题的一个合理解决方案就是简单工厂。
3、简单工厂:
3.1、什么是简单工厂:提供一个创建对象实例的功能,而无须关心起具体实现。被创建实例的类型可以使接口、抽象类,也可以是具体的类。
3.2、分析上面的问题,虽然不能让模块外部知道模块内的具体实现,但是模块内部是可以知道实现类的,而且创建接口是需要具体实现类的。
那么在模块内部新创建一个类,在这个类里面来创建接口,然后把创建好的接口返回给客户端,这样外部应用就只需要根据这个类来获取相应的接口对象,然后就可以操作接口定义的方法了。把这样的对象称为简单工厂,就叫做Factory吧。
这样一来,客户端就可以通过这个Factory来获取需要的接口对象,然后调用接口的方法来实现需要的功能,而且客户端也不用在关心具体实现了。
3.3、简单工厂结构和说明
图3 简单工厂的结构
这个,用了Factory,就不需要在UserDao ud=new UserDaoImpl(),不需要new了,这个直接调用Factory.createXXX就行了。
- java的工厂模式(备忘)
- 工厂模式备忘
- java的工厂模式
- Java的工厂模式
- java的工厂模式
- Java的工厂模式
- java的工厂模式
- java的工厂模式
- java的工厂模式
- java va中工厂模式( 静态工厂模式、工厂方法模式、抽象工厂模式)的介绍以及简单例子
- 工厂模式(工厂方法模式,抽象工厂模式) Java
- 工厂模式(java)
- 工厂模式(java反射的使用)
- Java工厂模式(简单工厂、工厂方法、抽象工厂)
- Java设计模式--工厂模式(简单工厂+工厂方法)
- Java设计模式-工厂模式(简单工厂+工厂方法)
- [工厂模式]JAVA设计模式 – 工厂模式的案例
- java学习之工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- Selenium-----体验之旅
- 5天学会jaxws-webservice编程第四天 .
- 蚁群算法的源代码 .
- QTP录制FLEX程序注意事项
- 每晚定时重启IIS和数据库服务可节省服务器资源
- java的工厂模式(备忘)
- HDU 1142 SPFA + DFS记忆搜索 学习了!!
- 应用程序icon及UITabBar又上角带红圈中数字的实现
- [LeetCode] Search in Rotated Sorted Array
- 深入Servlet技术
- 5天学会jaxws-webservice编程第五天
- BI(商业智能)
- 盘点:崛起中的九大HTML5开发工具
- S5PV210 内存配置(地址空间和片选)