WEB开发笔记 www.chhua.com 每日练习 PHP设计模式——策略模式

策略模式在设计模式中非常重要,可能是现代面向对象设计中最重要的模式。
它用来创建可插入,可替换,可重用的组件。
为了完整简单的说明策略模式,下面的代码演示一个非常简单的例子。

代码演示:例子的实现是实现一个获取HTML代码的类,
类的结构,分为二部分,一部分是获取HTML,一部分是获取相关内容,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
class HtmlDom{
	private $strObj;//内容对象
	public function __construct($strObj){
		$this->strObj=$strObj;
	}
	public function getHtml(){
		return "<html><body>".$this->strObj->getContent()."</body></html>";
	}
}
 
interface HtmlContent {//内容对象接口
	public function getContent();
}
 
class Hellworld implements HtmlContent{
	private $world;//内容
	public function __construct($world){
		$this->world=$world;
	}
	public function getContent(){
		return "Hello ".$this->world."!";
	}
}
 
$html=new HtmlDom(new Hellworld("www.chhua.com"));
echo $html->getHtml();//输出 www.chhua.com
 
?>

以上是策略模式的一个小小的实例,虽然这个例子微不足道,但这种设计模式在更为复杂的情况下支非常有用

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: PHP设计模式——策略模式 http://www.chhua.com/web-note1167

相关笔记

更多