设计模式之模板模式

模板模式即在实现之前定义一个可以作为模板的类。每个实现只需要在这个模板中填写自己特殊的实现即可。举个生活中的实例来说:每个人去餐馆吃饭要经过以下过;定位餐馆 -> 点菜 -> 就餐 -> 付钱。这一系列的操作可以放置在一个模板中,然后选择具体的餐馆,点什么菜等就可以有其不同的具体实施方式。这里给出 java 的模板设计

public abstract class Eating {

         public void process() {

                   System.out.println(“first,let’s beging to have supper”);

                   ponitToPlace();

                   System.out.println(“second, order”);

                   order();

                   System.out.println(“third, everyont hava a happy eating”);

                   eating();

                   System.out.println(“last, who hava the pay must do”);

                   pay();

}

 

protected  abstract  void  pointToPlace();

protected  abstract  void  order();

protected  abstract  void  eating();

protected  abstract  void  pay();

}

每个不同的团队或人有不同的地方去享受他们的午餐或晚餐过程,每个团队或人只需要继承 Eating 类,给出自己每一步的具体实现。去什么地方,点什么菜,如何吃,谁付钱?

public class MyEating   extends Eating {

         protected void pointToPlace() { System.out.println(“KFC Is my choice”);}

         protected void order(){ System.out.println(“I want to hava a hamburger”);}

         protected void eating() {System.out.println(“good eating”);}

         protected void pay(){ System.out.println(“no one but me can pay”)}

}

许多开发架构或者框架里面会用到模板模式:比如用户调用具体业务逻辑需要进行以下处理:登录验证 -> 参数验证 -> 权限验证 -> 业务调用。由于业务调用作为主要的实现,我们可以将其他三部分放到模板模式里面进行顺序处理调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值