设计模式之——外观模式

当前位置: 钓虾网 > 圈子 > 设计模式之——外观模式

设计模式之——外观模式

2024-11-15 作者:钓虾网 3
一、基本介绍

外观模式,又称结构型模式,其核心思想在于提供一个统一的接口给外部应用程序,使得应用程序无需关心内部子系统的具体细节。通过这种设计,我们可以大大降低应用程序的复杂度,提高其可维护性。

二、角色介绍

设计模式之——外观模式

1. 外观角色:为子系统提供一个共同的接口,作为外部访问的桥梁。

2. 子系统角色:实现系统的部分功能,通过外观角色对外提供服务。

三、案例及UML类图展示

案例描述:

设想有一个动物世界,其中所有的动物都有吃、睡、跑的基本行为。我们定义一个动物接口,让不同的动物如狗和人类实现这些行为。

UML类图:

1. 类Animal:定义动物接口,充当外观角色,定义了吃、睡、跑三个方法的公共接口。

```java

public interface Animal {

void eat();

void sleep();

void run();

}

```

2. 类Dog:狗类实现Animal接口,作为子系统角色,实现了狗特有的功能。

```java

public class Dog implements Animal {

@Override

public void eat() {

System.out.println("用舌头舔着吃");

}

// 其他方法实现...

}

```

3. 类Person:人类也实现Animal接口,作为子系统角色,实现了人类特有的功能。

```java

public class Person implements Animal {

@Override

public void eat() {

System.out.println("用手把食物放入嘴巴吃");

}

// 其他方法实现...

}

```

4. 类FacadeTest:测试及客户端类,通过Animal接口调用不同子系统的功能。

```java

public class FacadeTest {

public static void main(String[] args) {

Animal animal = new Person(); // 创建一个人类实例

animal.eat(); // 调用吃的方法

animal.run(); // 调用跑的方法

animal.sleep(); // 调用睡的方法

System.out.println("——————————");

animal = new Dog(); // 创建一个狗类实例

animal.eat(); // 调用狗类的吃的方法

animal.run(); // 调用狗类的跑的方法

animal.sleep(); // 调用狗类的睡的方法

}

}

```

四、适用场景

外观模式适用于分层结构开发中,如常见的controller、service、dao三层结构。通过接口的统一调用,可以有效隔离各层之间的依赖关系,提高系统的可维护性和可扩展性。

文章来自《钓虾网小编|www.jnqjk.cn》整理于网络,文章内容不代表本站立场,转载请注明出处。

本文链接:https://www.jnqjk.cn/quanzi/162205.html

AI推荐

Copyright 2024 © 钓虾网 XML

蜀ICP备2022021333号-1