Head First设计模式学习笔记-------(8)外观模式

    xiaoxiao2021-03-25  124

    今天我们介绍一个比较好理解的模式------------外观模式

    当你需要设计下面这么多类的时候:

    我们可以给这个系统设计一个外观:

    外观类:

    public class HomeTheaterFacade { Amplifier amp; Tuner tuner; DvdPlayer dvd; CdPlayer cd; Projectpr projectpr; TheaterLights lights; Screen screen; PopcornPopper popper; public HomeTheaterFacade (Amplifier amp,Tuner tuner,DvdPlayer dvd,CdPlayer cd,Projectpr projectpr,TheaterLights lights,Screen screen,PopcornPopper popper) { this.amp = amp; this.tuner = tuner; this.dvd = dvd; this.cd = cd; this.projectpr = projectpr; this.lights = lights; this.screen = screen; this.popper = popper; } public void watchMovie(String movie) { System.out.println("Get ready to watch a movie"); popper.on(); popper.pop(); lights.dim(); screen.dowm(); projectpr.on(); amp.on(); dvd.on(); } }外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

    外观模式类图:

    总结:

    1:当需要简化并统一一个很大的接口或者一群复杂的接口时,使用外观。

    2:外观将客户从一个复杂的子系统中解耦。

    3:实现一个外观,需要将子系统组合进外观中,然后讲工作委托给子系统执行。

    4:你可以为一个子系统实现一个以上的外观。

    转载请注明原文地址: https://ju.6miu.com/read-10695.html

    最新回复(0)