java实现银行抵押外观模式_外观模式 JAVA实现

基本概念

外观模式(Façade Pattern):他为子系统中的一组接口提供一个统一的高层接口。使子系

统更容易使用。外观模式通过一个外观接口读/写子系统接口

的数据资源,而客户可以通过外观接口读取内部资源库,不与子系统产生交互。

概念解析:当我们写的程序里有很多方法,而这些方法的执行又要按一定的顺序执行,如

果我们每次调用的时候都按一定的顺序调用,我们必须记清顺序,这样来就很

麻烦,每次调用要写的代码量也很大。这时我们引入外观模式,把调用的代码

封装到一个类里面,这个类提供一个接口供我们调用,我们只需要调用这个接

口,就可以实现程序调用。

模式类图:

0818b9ca8b590ca3270a3433284dd417.png

外观模式静态类图

使用场合:(1)、一个软件的复杂度比较高,需要一个更高级别的简单接口简化对子系统的操作时。

(2)、当使用端与实现类之间有太多的相依性,需要降低使用端与子系统或子系统间的耦合性,增加子系统的独立性。

(3)、当子系统是相互依存的,需要层级化子系统,简化子系统之间相依性的时候,可以使用外观模式。

实例分析:制作糖醋排骨

假设制作过程可以分为以下四步:(这四步必选按顺序执行)

1、  第一步。。。。。。

2、  第二步。。。。。。

3、  第三步。。。。。。

4、  第四步。。。。。。

先定义一个制作糖醋排骨的接口,然后在具体实现接口里的方法。接着在定义一个外观接口

来,在接口里面写一个制作他不敢粗排骨的方法,然后实现该接口。接就可以测试啦。下面

是具体的代码。

//创建糖醋排骨接口

public interface ISpareribs {

public void prepair();//准备材料

public void presever();//腌制排骨

public void fry();//炸排骨

public void juice();//调汁

}

//实现 ISpareribs里的具体方法

public class Spareribs implements ISpareribs {

public void prepair(){

System.out.println("第一步。。。。。");

}

public void presever(){

System.out.println("第二部。。。。。");

}

public void fry(){

System.out.println("第三部。。。。。。");

}

public void juice(){

System.out.println("第四部。。。。。。");

}

}

//创建外观接口

public interface ICookFacade {

public void cookSpareribs();//制作糖醋排骨的方法

}

//实现外观 制作糖醋排骨的具体步骤

public class CookFacade implements ICookFacade {

private final ISpareribs spareribs=new Spareribs();

public void cookSpareribs(){

this.spareribs.prepair();

this.spareribs.presever();

this.spareribs.fry();

this.spareribs.juice();

}

}

//测试程序

public class Client {

public static void main(String args[]){

ICookFacade cookFacade=new CookFacade();

cookFacade.cookSpareribs();

System.out.println("制作完成!");

}

}

内容来源

软件秘笈--设计模式那点事

郑阿奇 主编

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值