电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

詳解PHP設(shè)計模式之橋接模式

瀏覽:230日期:2022-06-06 11:01:30
目錄
  • 簡介
  • 適用場景
  • 優(yōu)點
  • 缺點
  • 擴展
  • 案例代碼
  • 抽象代碼

簡介

橋接模式又叫橋梁模式,屬于結(jié)構(gòu)型模式。目的是將抽象與實現(xiàn)分離,使它們都可以獨立的變化,解耦。繼承有很多好處,但是會增加耦合,而橋接模式偏向組合和聚合的方式來共享。

適用場景

不希望或不適用使用多繼承的場景。

一個類存在2個或更多的 獨立變化維度 , 并且這些維度都需要 獨立擴展

優(yōu)點

解耦抽象和具體實現(xiàn),方便增加抽象和實現(xiàn)。優(yōu)秀的擴充能力

符合開閉原則和合成復(fù)用原則。

缺點

增加了系統(tǒng)的理解與設(shè)計難度。

需要正確地識別出系統(tǒng)中,兩個獨立變化的維度。

擴展

為什么要用橋接模式?

先說說繼承:

如果有一個手機類作為父類A,下面有各個牌子的手機作為子類B,又有每個牌子手機旗下的內(nèi)置應(yīng)用類C。此時如果有3個手機的牌子,那么內(nèi)置應(yīng)用的父類可能有30個。

如果因為需求變需要增加手機品牌B,或者接著有第四層的D類繼承第三層的內(nèi)置應(yīng)用類,想想這個是多么龐大的數(shù)量。后期難以維護。如果一旦父級發(fā)生變動,株連很多子類。

其實按照合成復(fù)用原則,也就是少用繼承(強耦合),多用組合(弱耦合)或者聚合(中耦合)

以上的問題,可以直接拆分成兩個大模塊:

手機類作為抽象,手機牌子作為具體的類。

內(nèi)置軟件可單獨抽象,每一個內(nèi)置的軟件作為具體的類。

然后讓讓兩個抽象進行牽線搭橋,這邊是橋接模式的思路。

案例代碼

abstract class Mobile {
    abstract public function operate();
}
class HuaWei extends Mobile {
    public function operate() {
echo "華為手機";
    }
}
class Vivo extends Mobile {
    public function operate() {
echo "Vivo手機";
    }
}
Abstract class Abstraction {
    protected $implementer;
    public function setImplementer ($implementer) {
$this->implementer = $implementer;
    }
    public function run() {
$this->implementer->operate();
    }
}
class HuaWeiApp extends Abstraction {
    public function run() {
$this->implementer->operate();
    }
}
class VivoApp extends Abstraction {
    public function run() {
$this->implementer->operate();
    }
}
//調(diào)用端
$ab = new HuaWeiApp();
$ab->setImplementer(new HuaWei);
$ab->run();
$ab = new VivoApp();
$ab->setImplementer(new Vivo);
$ab->run();

抽象代碼

//創(chuàng)建一個實現(xiàn)
abstract class Implementer {
    abstract public function operate();
}
class ImplementerA extends Implementer {
    public function operate() {
echo "ImplementerA";
    }
}
class ImplementerB extends Implementer {
    public function operate() {
echo "ImplementerB";
    }
}
Abstract class Abstraction {
    protected $implementer;
    //用組合的方式替代繼承
    public function setImplementer (Implementer $implementer) {
$this->implementer = $implementer;
    }
    public function run() {
$this->implementer->operate();
    }
}
class RefinedAbstraction extends Abstraction {
    public function run() {
$this->implementer->operate();
    }
}
//調(diào)用端============================================================
$ab = new RefinedAbstraction();
$ab->setImplementer(new ImplementerA());
$ab->run();
$ab->setImplementer(new ImplementerB());
$ab->run();

到此這篇關(guān)于詳解PHP設(shè)計模式之橋接模式的文章就介紹到這了,更多相關(guān)PHP橋接模式內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 河南mpp电力管_mpp电力管生产厂家_mpp电力电缆保护管价格 - 河南晨翀实业 | 过滤器_自清洗过滤器_气体过滤器_苏州华凯过滤技术有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 天坛家具官网| 金属清洗剂,防锈油,切削液,磨削液-青岛朗力防锈材料有限公司 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 分轨 | 上传文件,即刻分离人声和伴奏 | 盐水蒸发器,水洗盐设备,冷凝结晶切片机,转鼓切片机,絮凝剂加药系统-无锡瑞司恩机械有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 深圳品牌设计公司-LOGO设计公司-VI设计公司-未壳创意 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 高扬程排污泵_隔膜泵_磁力泵_节能自吸离心水泵厂家-【上海博洋】 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | 华东师范大学在职研究生招生网_在职研究生招生联展网 | 诺冠气动元件,诺冠电磁阀,海隆防爆阀,norgren气缸-山东锦隆自动化科技有限公司 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 耐磨陶瓷,耐磨陶瓷管道_厂家-淄博拓创陶瓷科技 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 胶水,胶粘剂,AB胶,环氧胶,UV胶水,高温胶,快干胶,密封胶,结构胶,电子胶,厌氧胶,高温胶水,电子胶水-东莞聚力-聚厉胶粘 | 焊缝跟踪系统_激光位移传感器_激光焊缝跟踪传感器-创想智控 | 开云(中国)Kaiyun·官方网站 - 登录入口 | 齿辊分级破碎机,高低压压球机,立式双动力磨粉机-郑州长城冶金设备有限公司 | 免费网站网址收录网_海企优网站推荐平台 |