Decorator(装饰器模式)
2024-08-27 11:38:02
装饰器模式允许我们根据运行时不同的情景动态地为某个对象调用前后添加不同的行为动作。
<?php
class HtmlTemplate {
// any parent class methods
} class Template1 extends HtmlTemplate {
protected $_html; public function __construct() {
$this->_html = "<p>__text__</p>";
} public function set($html) {
$this->_html = $html;
} public function render() {
echo $this->_html;
}
} class Template2 extends HtmlTemplate {
protected $_element; public function __construct($s) {
$this->_element = $s;
$this->set("<h2>" . $this->_html . "</h2>");
} public function __call($name, $args) {
$this->_element->$name($args[0]);
}
} class Template3 extends HtmlTemplate {
protected $_element; public function __construct($s) {
$this->_element = $s;
$this->set("<u>" . $this->_html . "</u>");
} public function __call($name, $args) {
$this->_element->$name($args[0]);
}
}
最新文章
- android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题
- ubuntu安装ssh
- [Java] 对象排序示例
- C#实现大数字的运算
- Android “NetworkOnMainThreadException”出错原因及解决办法
- Ubuntu runlevel修改
- IOS 播放音频流媒体
- Android开发之自定义Spinner样式的效果实现(源代码实现)
- wemall app商城源码Android短信监听接收器
- 【swift-总结】函数
- 关于jstl的使用
- 2#第一个Java程序
- 6、Docker存储卷
- Python之路-(Django(csrf,中间件,缓存,信号,Model操作,Form操作))
- 1、JPA-HelloWorld
- centos install jdk
- [Algorithm] Maximum Flow
- kubernetes 的pod控制器
- Android Studio安装Kotlin插件
- JS匿名函数理解