PHP桥接模式有几点作用,如何应用于对员工分组的需求
Admin 2022-09-24 群英技术资讯 818 次浏览
作用说明
1、桥接模式分离抽象接口及其实现部分,实现解耦,比继承更好的解决方案。
2、便于扩展,桥接模式比继承更灵活,在减少创建类的同时也便于组合。
3、桥接模式可用于两个独立变化维度。
实例
// 员工分组 abstract class Staff { abstract public function staffData(); } class CommonStaff extends Staff { public function staffData() { return "小名,小红,小黑"; } } class VipStaff extends Staff { public function staffData() { return '小星、小龙'; } } // 发送形式 // 抽象父类 abstract class SendType { abstract public function send($to, $content); } class QQSend extends SendType { public function __construct() { // 与QQ接口连接方式 } public function send($to, $content) { return $content. '(To '. $to . ' From QQ)<br>'; } } class SendInfo { protected $_level; protected $_method; public function __construct($level, $method) { // 这里可以使用单例控制资源的消耗 $this->_level = $level; $this->_method = $method; } public function sending($content) { $staffArr = $this->_level->staffData(); $result = $this->_method->send($staffArr, $content); echo $result; } } // 客户端调用 $info = new SendInfo(new VipStaff(), new QQSend()); $info->sending( '回家吃饭'); $info = new SendInfo(new CommonStaff(), new QQSend()); $info->sending( '继续上班'); 输出结果: 回家吃饭(To 小星、小龙 From QQ) 继续上班(To 小名,小红,小黑 From QQ)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
laravel中的异常有:1、“E_ERROR”致命运行时错误,不可恢复,会导致脚本终止不再继续运行;2、“E_WARNING”运行时警告“非致命错误”;3、“E_PARSE”编译时语法解析错误;4、“E_CORE_ERROR”初始化启动过程中发生的致命错误;5、“E_COMPILE_ERROR”致命编译时错误;6、“E_RECOVERABLE_ERROR”可被捕捉的致命错误。
可以用来测试需要唯一凭据号码的,是否有重复值,不过一般直接使用uuid了,简单粗暴就解决问题,这个就简单的测试生成的数据是否有重复值吧 <?php/**@Author:wyy*@Date:2019-01-0913:34:16*@Email:2752154874@qq.com*@LastModifiedby:wyy*@LastModifi
php中TCP和UDP的区别:1、TCP面向连接,UDP是无连接的。2、TCP用于在传输层有必要实现可靠传输的情况。UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。
在本篇文章里小编给大家整理了一篇关于php substr()去掉最后一位字符的实例方法,有兴趣的朋友们可以跟着学习下。
本节介绍了 PHP 中需要使用到的 String 函数,我们对这些函数进行了相关的描述!PHP String 函数是 PHP 核心的组成部分。无需安装即可使用这些函数。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008