`
wangjia1001
  • 浏览: 15415 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

适配器模式(对象)

阅读更多
   使用适配器:客户代码可以统一调用同一接口,而不用关心其具体的实现细节问题。

    实例:根据jsp页面的条件,去javabean后台执行相关操作,不需要在页面中直接调用后台的具体方法,(在实际的项目中尽量减少在jsp中的java代码,一般只有菜鸟都不会注意这些问题!)好处是:1.隐藏方法的具体实现;2.前台统一调用,后台统一管理和统一处理;3代码简洁,直观,紧凑。
    
     在"基础数据管理"中的有各项功能,对应多个jsp页面,现在可以使用对象适配器模式设计。
后台处理:
//基础数据管理功能类(继承系统管理)
public class BaseDate extends SysManage
{
/**
* 构造函数.
*/
public BaseDate(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession)
{
  super(hsrRequest,hsrResponse,hsSession);
}

/**
* 事件适配器.
*/
public void EventProcess(String sEventID)
{
  if(sEventID.equals("select_psn"))select_psn("");//查询人员
  else if(sEventID.equals("del_psn"))del_psn();//删除人员
  else if(sEventID.equals("add_psn"))add_psn();//新增
          ...
         ...
         ...
  }

//新增用户
  private void add_psn(){
  ...
  ...
  ...
  }
 
}

/**
* 抽象父类(可以使用接口)统一实现
*/
abstract class SysManage{
//构造函数
public SysManage(HttpServletRequest hsrRequest,HttpServletResponse hsrResponse,HttpSession hsSession){
  //统一调用子类抽象方法
   String  sEventID=request.getParameter("sEventID"); //页面条件
   this.EventProcess(sEventID);
   }
abstract protected void EventProcess(String sEventID);
}


前台调用:
add_person.jsp中
<%
BaseDate listObj = new BaseDate(request,response,session);
%>
<script>
Form1.action="add_person.jsp?EventID=add_psn";
Form1.submit();
</script>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics