4.设计模式实例 1) Facade设计模式(属于对象结构型模式) 该模式定义一个高层接口,为子系统的一组接口提供一个 致的界面,以降低系统中各部分之间的相互依赖关系 Client Clienta Client Clienta Connection Database Recordset DatabaseMetadata Statement DatabaseMetadat. Connection Statement Resultsetmetadata Resultsetmetadata 获得更大的结构
4. 设计模式实例 1)Façade设计模式(属于对象结构型模式) 该模式定义一个高层接口,为子系统的一组接口提供一个一 致的界面,以降低系统中各部分之间的相互依赖关系。 ClientA ClientB Connection DatabaseMetadata Statement ResultSetMetadata ResultSet Database Recordset ClientA_ ClientB_ DatabaseMetadata_ ResultSetMetadata_ Connection_ Statement_ ResultSet_ 获得更大的结构
4.设计模式实例 对于简单数据库应用, Database、 Recordset的功能简单,如连接数据库、执行查询即可。 public class Database i private Connection con public database(String driver).) public void Open(String url, String uid, String pwd)i public void Close({…} public Recordset SelectQuery( String sql.) public int Update Query (String sql.3 public class recordset i private Resultset rs private Database db public recordsetResult Set rs).j public void Open( String sql, Database db). public void Closet public int Move First& public String GetField Value( String fieldname) public String GetField Value (int fieldindex)
4. 设计模式实例 对于简单数据库应用,Database、Recordset的功能简单,如连接数据库、执行查询即可。 public class Database { private Connection con; public Database(String driver){...} public void Open(String url,String uid,String pwd){...} public void Close(){...} public Recordset SelectQuery(String sql){...} public int UpdateQuery(String sql){...} } public class Recordset { private ResultSet rs; private Database db; public Recordset(ResultSet rs){...} public void Open(String sql,Database db){...} public void Close(){...} public int MoveFirst(){..} ... public String GetFieldValue(String fieldname){..} public String GetFieldValue(int fieldindex){..} ... }
4.设计模式实例 Facade设计模式应用范围: 为复杂的子系统提供一个简单的接口; >客户类和客户类要使用的类之间存在太多的依赖 关系; 要建立具有层次结构的子系统
4. 设计模式实例 Facade设计模式应用范围: ➢ 为复杂的子系统提供一个简单的接口; ➢ 客户类和客户类要使用的类之间存在太多的依赖 关系; ➢ 要建立具有层次结构的子系统