本文共 1236 字,大约阅读时间需要 4 分钟。
外观模式
(Facade Pattern) 也称作 门面模式
,包装模式
,是一种 结构型
模式,其特点是把复杂流程通过接口封装起来,使用起来更加简单,降低系统复杂度。
比如我们一个购物操作,需要下单,减库存,支付,记录日志,等等一系列复杂的操作还有判断,如果我们都写在一个方法里面,这样,一个方法几十上百行代码,会造成代码难以阅读维护,类似于这样
所以,我们可以通过外观模式,优化成这样 下面用代码虚拟地模拟这个流程,这里只是模拟,实际场景更加复杂public class OrderService { public void order(){ System.out.println("下单"); }}
public class StockService { public void deleteStoek() { System.out.println("减库存"); }}
public class PayService { public void pay() { System.out.println("支付"); }}
如果我们不进行封账,那么在具体调用这些方法实现购物,想想就知道代码有多么复杂,下面我们进行一下封装
购物类,分装了以上流程
public class ShoppingService { private OrderService orderService = new OrderService(); private StockService stockService= new StockService(); private PayService payService =new PayService(); public void shop(){ orderService.order(); stockService.deleteStoek(); payService.pay(); }}
当我们需要实现以上流程时,即可一步到位
public class Main { public static void main(String[] args){ ShoppingService shoppingService = new ShoppingService(); shoppingService.shop(); }}
优点
简单,把复杂业务流程通过接口封装起来,使用起来更加简单
解耦,让模块功能更易于维护和扩展,降低系统复杂度
缺点
业务类增多,但是利大于弊
—— 完
公众号:【星尘Pro】
github:
推荐阅读
转载地址:http://oyfsi.baihongyu.com/