和时间赛跑!

用心做事,诚信做人,超越自我,步步领先

用户操作
[即时聊天] [发私信] [加为好友]
张钰ID:ProvidenceZY
29973次访问,排名4098,好友104人,关注者114人。
性格开朗,擅长沟通,热爱技术,自学能力强
ProvidenceZY的文章
原创 36 篇
翻译 0 篇
转载 5 篇
评论 40 篇
最近评论
hdnero:wow gold
mawei_27:要给ext源代码拷贝到项目下,并且目录为:plugins/extjs/ext-2.0


‘ext源代码’ 指的是什么啊 ,上面这句话谁能帮我详细解释 一下啊。
mawei_27:这个怎么运行啊 我按着顺需都建在好了 其余的应该则么做啊
han0104:路过
ltian999:自私和贪婪是我们的本性,因为我们穷!我们必须劳动养家,没有闲暇时间去搞什么鸟开源。我们创造的利润大部分流到官僚买办贪污腐败者之手,我们能拿到的钱仅能养家糊口。所以开源是软件贵族的游戏,不是广大不同中国程序员所关心的,我们所关心的就是用好开源,做出产品养家糊口而以,因为我们无论如何也满足不了贪污腐败官僚买办阶层的胃口!
文章分类
收藏
相册
那时天好蓝!
朋友的Blog
CSDN
sql高手
算法
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 Template模式收藏

新一篇: Spring中的面向对象查询 | 旧一篇: spring中最强大的Advisor-DefaultPointcutAdvisor

     Template模式就是在父类中定义一个操作中的骨架算法,而将一些用户自定义的逻辑延迟到子类中,这里以一个示例来说明,假如所有的business方法中都必须要进行用户验证(validateUser)、异常捕获、进行一个业务操作,那么我们就给用户验证、异常捕获封装到父类中,子类中只需要写一些business代码就可以了,父类代码如下:   

public abstract class BusinessTemplate {
    
public void execute() throws Exception {
        validateUser();
        
try {
         business();
         doBusiness();
        }
 catch (Error e) {
            e.printStackTrace();
        }

    }

    
void validateUser() {
        System.out.println(
"验证用户...");
    }
;
    
void business(){
        System.out.println(
"业务1");
    }

    
public abstract void doBusiness();
}

这里是一个抽象类,有个execute()方法,在这个方法中进行了用户验证、异常捕获和一个业务执行,在这3项任务结束后执行了doBusiness()方法,同时doBusiness()方法又是一个抽象方法,继承该抽象类就要重写这个抽象方法,在这里定义用户自己的业务,写一个子类如下:   

public class Business extends BusinessTemplate {
public void doBusiness() {
         System.out.println(
"自定义的业务");
    }

}
这里继承类就重写了doBusiness方法,这里定义一个用户自己的业务,接着写一个测试类如下:
package spring.chapter4.template;
public class TestTemplate {
    
public static void main(String[] args) throws Exception {
        Business business 
= new Business();
        business.execute();
    }

}
这里的Business类调用了父类的execute方法,也就说按execute()方法的执行顺序来执行,运行结果如下:
 验证用户...
业务1
自定义的业务
这里Business类是BusinessTemplate的一个子类,原本也需要写用户验证、异常捕获等业务,而采用了一个父类模板就给所有的业务都省略了,其他任何需要进行用户验证、异常捕获、业务一这些操作的逻辑都只需要继承BusinessTemplate然后只需要写用户的逻辑代码就可以了,再也不用重复写那些重复的逻辑了,Spring中正是采用了这样的方法来封装了数据库操作的ConnectionStatement这些连接、关闭以及异常捕获等。

 

 


发表于 @ 2007年12月06日 16:18:00|评论(loading...)|编辑

新一篇: Spring中的面向对象查询 | 旧一篇: spring中最强大的Advisor-DefaultPointcutAdvisor

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 张钰