欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【php设计模式】门面模式

程序员文章站 2022-03-28 18:25:31
门面模式又叫外观模式,用来隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 ......

门面模式又叫外观模式,用来隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。

这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。

<?php

interface shape{
    public function draw();
}

class circle implements shape{
    public function draw(){
        echo "画一个圆形\n";
    }
}

class rectangle implements shape{
    public function draw(){
        echo "画一个矩形\n";
    }
}

class square implements shape{
    public function draw(){
        echo "画一个正方形\n";
    }
}

class shapemark{

    public $circle;
    public $rectangle;
    public $square;

    public function __construct(){
        $this->circle = new circle();
        $this->rectangle = new rectangle();
        $this->square = new square();
    }

    public function drawcircle(){
        $this->circle->draw();
    }

    public function drawrectangle(){
        $this->rectangle->draw();
    }

    public function drawsquare(){
        $this->square->draw();
    }
}

$shapemark = new shapemark();
$shapemark->drawcircle();//画一个圆形
$shapemark->drawrectangle();//画一个矩形
$shapemark->drawsquare();//画一个正方形