通过代码示例跟我学GOF 设计模式的设计思想——面向接口编程实现.docVIP

  • 2
  • 0
  • 约8.34千字
  • 约 12页
  • 2020-10-25 发布于湖北
  • 举报

通过代码示例跟我学GOF 设计模式的设计思想——面向接口编程实现.doc

通过代码示例跟我学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

文档评论(0)

1亿VIP精品文档

相关文档