外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。符合迪米特原则

如果我想使用多个类的代码,先创建个门面类统一去调用,我只需要和这个门面打交道,不用去了解那些类的细节
这个就是门面类,我想执行的时候只需要知道调用门面类的run方法就行了

class Facade
{
    private Os $os;
    private Bios $bios;

    public function __construct(Bios $bios, Os $os)
    {
        $this->bios = $bios;
        $this->os = $os;
    }
    public function run()
    {
        $this->bios->run();
        $this->os->runOs(;
    }
}

Os类和Bios类都有自己的具体实现

具体使用的时候
$facade = new Facade($bios, $os);
$facade->run();

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/taoshihan/p/13839944.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!