一、概念
- 外观模式指的是客户端统一的入口
二、场景
- 当客户端调用两个以上的对象来完成一系列的功能,可以使用外观模式。
三、实现
- 条件
- java
- 场景
- 以客户端访问聚合服务,聚合服务访问商品服务、订单服务和支付服务为场景。
- 代码实现
- 新建商品服务,类名:ProductServer
package com.AppearancePattern; public class ProductServer { public ProductServer() { System.out.print("商品服务!"); } } - 新建订单服务,类名:OrderServer
package com.AppearancePattern; public class OrderServer { public OrderServer() { System.out.print("订单服务"); } } - 新建支付服务,类名:PayServer
package com.AppearancePattern; public class PayServer { public PayServer() { System.out.print("支付服务!"); } } - 新建聚合服务,类名:PolymerizationServer
package com.AppearancePattern; public class PolymerizationServer { private ProductServer productServer; private OrderServer orderServer; private PayServer payServer; public PolymerizationServer() { System.out.print("聚合服务!"); } public void BuyProduct() { productServer = new ProductServer(); orderServer = new OrderServer(); payServer = new PayServer(); } } - 入口函数,类名:Main
package com; import com.AppearancePattern.PolymerizationServer; public class Main { public static void main(String[] args) { PolymerizationServer polymerizationServer = new PolymerizationServer(); polymerizationServer.BuyProduct (); } }
- 新建商品服务,类名:ProductServer
四、优缺点
- 优点
- 保证客户端遵守开闭原则
- 提高多个客户端的复用
- 缺点
- 导致系统的复杂性上升
本文介绍了外观模式的概念,它提供了一个统一的入口,使得客户端可以更方便地调用多个对象来完成一系列功能。以聚合服务购买流程为例,通过创建商品服务、订单服务和支付服务的实例,聚合服务实现了外观模式。该模式的优点在于遵循了开闭原则,提高了代码的复用性,但可能增加系统的复杂性。
1385

被折叠的 条评论
为什么被折叠?



