php设计模式之门面模式(Facade)

原文链接: http://blog.fenlanli.com/articles/2019/09/08/1567954997173.html

php设计模式之门面模式(Facade)_第1张图片

外观模式(Facade)属于结构型设计模式中的一种,又称之为门面模式。

门面模式隐藏了系统的复杂性,并为客户端提供了一个或多个可以访问系统的接口,
实现客户端与系统的解耦,降低复杂度。

门面模式定义了一个高层接口,这个接口使得子系统更加容易使用,用户只关心接口的使用,不必关心子系统是如何实现的,子系统的复杂关系由门面模式去解决。

门面模式就好比: 你问我Linux系统的启动过程是怎样的?我哪里知道啊,我只要按开机键,电脑就开启了。开机键就是电脑提供给用户使用的接口,用户不必关心电脑到底是如何启动的,而电脑本身去控制Bios硬件自检,引导加载,内核加载等操作。

举个板栗:

bios = new Bios();
        $this->grub = new Grub();
        $this->kernel = new Kernel();
        $this->init = new Init();
        $this->runLevel = new RunLevel();
    }

    public function start()
    {
        $this->bios->check();
        $this->bios->selectStarterDisc();
        $this->grub->loader();
        $this->init->init();
        $this->runLevel->start();
    }

    public function program()
    {
        echo "echo 'hello world'";
    }
}

$computer = new Computer();
$computer->start();
$computer->program();

Github设计模式代码库

个人博客地址

你可能感兴趣的:(php,设计模式)