banq 设计模式中的facade模式的例子是不是不太对啊

07-10-31 hub

原来的代码片断是:

public class DBCompare {

  String sql = "SELECT * FROM <table> WHERE <column name> = ?";  

  try {

     Mysql msql=new mysql(sql);

     prep.setString( 1, "<column value>" );

     rset = prep.executeQuery();

     if( rset.next() ) {

        System.out.println( rset.getString( "<column name" ) );

     }

  } catch( SException e ) {

     e.printStackTrace();

  } finally {

     mysql.close();

     mysql=null;

  }

}

是不是应该把 prep换成 mysql 啊

虽然是细枝末节不值一提 我还是想问问

谢谢

[该贴被hub于2007-10-31 09:56修改过]

banq
2007-10-31 11:39
是的 多谢 已经修正。

hub
2007-10-31 11:54
另外: 我觉得把mysql作为一个具体的类暴露在外面好像也不太妥当, 以后我们要是切换数据库的实现, 就要换一个oracle 或者sqlserver了, 如果把这种变化封装起来形成一个接口, 或许更好一些吧。

当然,这就有些跑题了,不是facade模式的主要内容了,好像跑到工厂模式那边去了......

banq
2007-11-01 14:12
>我觉得把mysql作为一个具体的类暴露在外面好像也不太妥当

正确,这些都是供初学者初步入门学习,要考究起来,就非得用Hibernate等框架了。

猜你喜欢