软件设计模式外观模式实例
时间: 2024-04-06 14:26:55 浏览: 57
外观模式是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。通过外观模式,客户端可以简化与复杂子系统的交互,只需要与外观对象进行交互即可。
下面是一个外观模式的实例:
假设我们有一个电子商务平台,其中包含了用户管理、商品管理和订单管理等子系统。为了简化客户端与这些子系统的交互,我们可以使用外观模式。
首先,我们创建一个外观类(Facade),该类提供了对用户管理、商品管理和订单管理等子系统的简化接口。在外观类中,我们可以定义一些高层次的方法,用于完成复杂的操作。
```java
// 子系统1:用户管理
class UserManager {
public void addUser(String username) {
System.out.println("添加用户:" + username);
}
}
// 子系统2:商品管理
class ProductManager {
public void addProduct(String productName) {
System.out.println("添加商品:" + productName);
}
}
// 子系统3:订单管理
class OrderManager {
public void createOrder(String orderName) {
System.out.println("创建订单:" + orderName);
}
}
// 外观类
class ECommerceFacade {
private UserManager userManager;
private ProductManager productManager;
private OrderManager orderManager;
public ECommerceFacade() {
userManager = new UserManager();
productManager = new ProductManager();
orderManager = new OrderManager();
}
// 提供简化的接口
public void registerUser(String username) {
userManager.addUser(username);
}
public void addProductToCart(String productName) {
productManager.addProduct(productName);
}
public void placeOrder(String orderName) {
orderManager.createOrder(orderName);
}
}
// 客户端代码
public class Main {
public static void main(String[] args) {
ECommerceFacade facade = new ECommerceFacade();
facade.registerUser("Alice");
facade.addProductToCart("iPhone");
facade.placeOrder("Order1");
}
}
```
在上述示例中,外观类(ECommerceFacade)提供了三个简化的接口:registerUser、addProductToCart和placeOrder。客户端只需要与外观类进行交互,而不需要直接与子系统进行交互。
阅读全文