分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

PHP设计模式 - 桥接模式

发布时间:2023-09-06 02:01责任编辑:蔡小小关键词:PHP

将抽象部分与它的实现部分分离,使他们都可以独立的变抽象与它的实现分离,即抽象类和它的派生类用来实现自己的对象

桥接与适配器模式的关系(适配器模式上面已讲解):
桥接属于聚合关系,两者关联 但不继承
适配器属于组合关系,适配者需要继承源

聚合关系:A对象可以包含B对象 但B对象不是A对象的一部分

<?php/** * ?*实现化角色, 给出实现化角色的接口,但不给出具体的实现。 */abstract class Implementor { ????abstract public function operationImp();}class ConcreteImplementorA extends Implementor { // 具体化角色A ???public function operationImp() {echo "A";}}class ConcreteImplementorB extends Implementor { // 具体化角色B ???public function operationImp() {echo "B";}}/** * ?* 抽象化角色,抽象化给出的定义,并保存一个对实现化对象的引用 */abstract class Abstraction { ????protected $imp; // 对实现化对象的引用 ???public function operation() { ???????$this->imp->operationImp(); ???}}class RefinedAbstraction extends Abstraction { // 修正抽象化角色, 扩展抽象化角色,改变和修正父类对抽象化的定义。 ???public function __construct(Implementor $imp) { ???????$this->imp = $imp; ???} ???public function operation() { $this->imp->operationImp(); }}// client$abstraction = new RefinedAbstraction(new ConcreteImplementorA());$abstraction->operation();//输出:A$abstraction = new RefinedAbstraction(new ConcreteImplementorB());$abstraction->operation();//输出:B?>

PHP设计模式 - 桥接模式

原文地址:https://www.cnblogs.com/taozi32/p/9226523.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved