- 2
- 0
- 约8.34千字
- 约 12页
- 2020-10-25 发布于湖北
- 举报
通过代码示例跟我学GOF 设计模式的设计思想——面向接口编程实现
在数据库连接组件中应用面向接口编程实现
1、设计数据库连接组件对外的接口
(1)为什么要应用接口?如何实现接口?
应用接口编程实现的最主要的目的是达到分离“分析设计”和“功能实现”并最终达到有助于“满足变化”的应用目的;
其次,约束不同的功能实现程序,必须要提供并实现在接口中所提出的各种功能要求;
有助于团队开发中的模块分工,协作开发——两个模块通过接口互联,其一为接口的使用者,另一个为接口的功能实现者,当然还有接口的制定者(一般为设计师)。通过这个接口,调用者无须知道目标对象的具体详细信息,只需要知道它实现了这个接口,那么它便可以依据这个接口来使用这个对象了。接口的实现者按照接口的制定者的设计要求完成相关的功能实现。
因此,接口本质上就是由制定者来协调实现者和调用者之间的关系。当然,也只有接口的实现者和接口的调用者都遵循“面向接口编程”这个准则后,制定者的协调目的才能达到。
(2)如何实现接口?
为了能够实现接口,需要通过相关的功能类实现,并在实现类重写接口中的所有的成员方法。
2、在项目中添加一个数据库连接的接口
接口的名称为ConnectDBInterface,包名称为com.px1987.webbank.dao.inter,如下为实现的示图截图:
3、设计该接口中的功能方法方法
4、ConnectDBInterface接口的代码示例
package com.px1987.webbank.dao.inter;
import java.sql.Connection;
import com.px1987.webbank.exception.*;
public interface ConnectDBInterface {
public Connection getConnection() throws WebBankException;
public void closeDBCon() throws WebBankException;
public boolean isDBConnectionClose();
}
5、为ConnectDBInterface接口添加相关的实现类
由于接口本身只是定义了相关的功能方法,并没有给出具体的功能,因此需要为上面的ConnectDBInterface接口提供对应的功能实现类。在下面的示例中目前先采用“JDBC的直接连接方式”实现相关的数据库连接功能。希望读者回顾在JDBC中有几种连接的方式?
(1)添加ConnectDBInterface接口的实现类
类名称为ConnectDBBean,包名称为com.px1987.webbank.dao.imple,如下为实现的示图截图:
(2)编程该ConnectDBBean实现类的功能代码
package com.px1987.webbank.dao.imple;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.px1987.webbank.dao.inter.ConnectDBInterface;
import com.px1987.webbank.exception.WebBankException;
public class ConnectDBBean implements ConnectDBInterface {
static String JDBC_DBDriver_ClassName = com.mysql.jdbc.Driver;
String JDBC_DSN_URL = jdbc:mysql://localhost:3306/webbank;
String JDBC_dbUserName=root;
String JDBC_dbUserPassWord=root;
private java.sql.Connection con = null;
private static Logger logger = Logger.getLogger(ConnectDBBean.class.getName());
/**
请注意为什么要将此语句放在static语句块中
*/
static{
try{
Class.forName(JDBC_DBDriver_ClassName);
}
catch (java.lang.ClassNotFoundExcepti
您可能关注的文档
- 试论反不正当竞争法与知识产权法的关系.pdf
- 验证文件 JSH-1000B多向运动混合机清洁验证方案.doc
- 贵州省示范性普通高中评估方案(2005年修订稿)(解读) 精品文档.doc
- 香港证券及期货从业员资格考试卷一教材第八章.ppt
- 黄向阳的德育原理摘要.doc
- 过渡段施工监理实施细则(gai).doc
- 试论风险投资的阶段性特征及风险管理策略.docx
- 销售团队管理流程 销售人员的个人激励薪酬与绩效考核的匹配 销 售人员【心理激励指导】.doc
- 韩国语入门(选修课二).ppt
- 铁总建设14-125号铁路建设项目勘察设计单位施工图评价办法.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)