风云考试网's Archiver

彼岸烟花 发表于 2006-9-13 17:03

模式的运用及代码重构

  模式的运用及代码重构
一、      模式的运用
设计思想
 在web应用程序中,有部分的操作只是简单的从数据库根据条件提取数据,不需要经过任何处理,而直接将数据显示到网页上,比如在我们的系统中就有很多的查询操作,像老师查看自己的进行考评结果,管理员结束对某个教师的考评时要将该老师的信息从数年库中查询出来等。而另一外一些操作,比如计算学生对某个教师的信息从数据的分数以及其中对分数有关计算的类就有两个,这些类和数据库交互操作起来也比较复杂。我们可以先想像一下,如果我们采用三层结构,这经、些商业逻辑一般是会放在中间层,那么对内部的这些大量种类繁多,使用方法也各不同的类的调用任务,就完全的落到了表示层。这样势必会增加表示层的代码量,将表示层的任务复杂化,和表示层只负责接受用户的输入并返回结果的任务不太相称,并增加了层与层之间的耦合程度。为了解决这个问题,我们引入了设计模式的概念。
实例应用
fa鏰de设计模式的主要作用是为子系统中的一组接口提供一个一致界面,fa鏰de模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。当我们需要构建一个层次结构的系统时,使用fa鏰de模式定义子系统中每层的入口点。如果子系统之间的相互依赖的你可以仅通过fa鏰de进行通讯,从而简化了它们之间的依赖关系。
它其实类似一种管理manager类,由FA茿DE类管理 一部分小类的运算和相互调用,外界-不直接调用系统中的这个子类,而是通过fa鏰de类实现。
Fa鏰de模式是一个比较容易理解的,而且会经常使用的模式。例如数据库操作,一般典型 的数据库jdbc操作代码如下:
ResultSet rset=null;
Try{
Class.forName(“Driver”).newInstance();
Conn=DriverManager.getconnection(“DatabaseName”);
String  sql=”select * from “tablename” where “columnname”=”?”;
Prep=conn.preparestatement(sql);
Prep.setstring(1,”<column value>”);
Rset=pre.executequery();
If (rset.next(){
System.out.pritin(rset.getstring(“<column name “));
}

}catch(sException e){
e.printstackTrace();
}
finally{
rset.close();
prep.close();
conn.close();
}
}

梦凡 发表于 2006-9-13 19:47

我看了,不错!

页: [1]
baidu
互联网 www.ymxd.net

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.