文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>设计模式心得:七——外观模式

设计模式心得:七——外观模式

时间:2010-10-18  来源:陌路vs追忆

从定义中可以知道,外观模式是为了封装一个复杂的子系统的操作,以提供用户简单易懂的接口。这样做除了能够方便的使用外观模式封装的接口外,还能到达解耦的目的,从复杂的系统解耦只与高层接口交互。

在生活中有很多外观模式的例子,例如:我们的电脑,它的启动就是一个外观模式很好的例子,一个启动按钮就是一个接口,我们只需要知道按下启动按钮就知道它能启动运行就可以了,具体它里面干了哪些事我们一无所知,也不需要知道。

下面就是模拟电脑开启的代码

 

代码
<?php
class Computer {

private $_memory;
private $_mainboard;
private $_cpu;
private $_harddisk;

public function __construct(Memory $memory, Mainboard $mainboard, CPU $cpu, HardDisk $harddisk)
{
$this->_memory = $memory;
$this->_mainboard = $mainboard;
$this->_cpu = $cpu;
$this->_harddisk = $harddisk;
}

public function start()
{
$this->_mainboard->open();
$this->_cpu->start();
$this->_memory->load();
$this->_harddisk->read();
}
}

class Mainboard {
public function open()
{
echo '主板加电<br />';
}
}

class CPU {
public function start()
{
echo 'CPU开始运转<br />';
}
}

class Memory {
public function load()
{
echo '加载内存<br />';
}
}

class HardDisk {
public function read()
{
echo '读取硬盘<br />';
}
}

$computer = new Computer(new Memory(), new Mainboard(), new CPU(), new HardDisk());

$computer->start();
?>

// 结果
// 主板加电
// CPU开始运转
// 加载内存
// 读取硬盘
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载