当前位置: 首页 > wzjs >正文

织梦cms做网站教程视频新媒体营销案例分析

织梦cms做网站教程视频,新媒体营销案例分析,网页升级访问中自动跳转,南充哪里做网站JAVA设计模式——(三)桥接模式(Bridge Pattern) 介绍理解实现武器抽象类武器实现类涂装颜色的行为接口具体颜色的行为实现让行为影响武器修改武器抽象类修改实现类 测试 适用性 介绍 将抽象和实现解耦,使两者可以独立…

JAVA设计模式——(三)桥接模式(Bridge Pattern)

  • 介绍
  • 理解
  • 实现
    • 武器抽象类
    • 武器实现类
    • 涂装颜色的行为接口
    • 具体颜色的行为实现
    • 让行为影响武器
      • 修改武器抽象类
      • 修改实现类
    • 测试
  • 适用性

介绍

将抽象和实现解耦,使两者可以独立的变化。

理解

在这里需要理解的是如何让抽象和实现进行解耦。再具体编码代码时,抽象类一般用以定义一些对象的公共基类,公共基类包含一些共同属性或者一些通用实现方法,或者一些子类待实现的方法;接口则用于规范实现类的行为方法。

对于一个武器(实现类),制作一把武器需要模具(抽象类),假如我们需要拓展武器,让武器可以组装其他的组件,比如弹夹、枪管,那我们是否需要重新打造一个模具(抽象类),那这样做岂不是每次的改动都需要更改模具,让工作变得繁重。所以,有没有一种办法直接对实现类修改,有的。

直接修改实现类,我们可以直接更换枪管、更换弹夹等行为,即对实现类的直接修改(工作台一样)。这样就直接避免修改抽象类,转而通过工作台修改(即定义其他的行为)。

实现

武器抽象类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public abstract class AbstractWeapon {public abstract void createWeapon();}

武器实现类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:01* @Contact 643947568@qq.com*/
public class Weapon extends AbstractWeapon{@Overridepublic void createWeapon() {System.out.println("生产具有八倍镜的武器");}
}

涂装颜色的行为接口

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:07* @Contact 643947568@qq.com*/
public interface Color {public void getColor(); //绘制枪的颜色
}

具体颜色的行为实现

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:11* @Contact 643947568@qq.com*/
public class Green implements Color {@Overridepublic void getColor() {return "绿色";}
}

让行为影响武器

如何让行为影响武器,是值得思考的问题。为了让武器的颜色得到改变,一种方法武器和颜色传送给Color类涂装,另一种是将定义的颜色传给武器进行涂装。

当然,选择第二种是更好的。由于颜色是预先定义的,而不是根据颜色需求来定制颜色。另外,武器的组装线在武器类里面,难道你会把武器送给颜料厂进行涂装吗?肯定不会吧。

修改武器抽象类

让武器类具有颜色属性

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public abstract class AbstractWeapon {Color color;public AbstractWeapon(Color color) {this.color = color;}public abstract void createWeapon();}

修改实现类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:01* @Contact 643947568@qq.com*/
public class Weapon extends AbstractWeapon {public Weapon(Color color) {super(color);}@Overridepublic void createWeapon() {System.out.println("生产具有八倍镜的武器");System.out.println("涂装颜色" + color.getColor());}
}

测试

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {Color green = new Green();  //定义颜色Weapon weapon = new Weapon(green);  //将颜色传给武器weapon.createWeapon();}
}

适用性

进过上面的例子,因该很好理解桥接模式的运用。

桥接模式更偏向运用组合的方式,将实现细节从本体中抽离出来,从而将颜色的实现细节从武器的生产线抽离,而无需
关心其中部分的实现,只需要得到这部分的属性即可。

如果我们直接采用实现的方式,让武器具有颜色的行为,就好比把武器组装线中,塞一个颜色的加工厂一样,臃肿,也没有解耦合。此外,直接实现Color接口的方式,会使得每次颜色类的变动,均会影响实现的子类,均需要重写接口的抽象方法。

http://www.dtcms.com/wzjs/386859.html

相关文章:

  • 做网站开通手机验证功能百度应用商店下载
  • 杭州做网站seo亚马逊站外推广网站
  • wordpress 做大型网站吗微信营销案例
  • 如何在linux下安装wordpressseo 工具
  • 互联网营销师怎么做刷移动端seo软件
  • 怎样使用自己的电脑做网站网页优化包括
  • 青岛开发区网站建设服务百家号优化
  • wordpress 页面导出针对百度关键词策划和seo的优化
  • 不记得域名管理网站网络推广外包怎么样
  • 凡科网站怎么做授权查询搜狗搜索排名优化
  • 域名与网站名称的关系查指数
  • 做刷题网站赚钱么网站友情链接怎么弄
  • 电影网站制作毕业论文摘要2024年3月新冠高峰
  • 网站建设图文seo外包收费
  • 顺德哪家做网站怎么创建网站赚钱
  • 网站设计代做网页广告怎么做
  • 沧州网站制作网站站外推广怎么做
  • 慈溪企业排名网站网站设计与开发
  • 专做五金正品的网站商旅平台app下载
  • 专业群建设方案张家界百度seo
  • 政府网站建设的脚注全球搜索引擎排名2022
  • 网上书店网站建设设计的收获营销工具有哪些
  • 2017年做那家网站好网站快速排名优化
  • 做个网站做蔬菜批发营销软文模板
  • 怎样做电商网站比较好网站制作公司
  • 网站建设与维护流程百度站长
  • 中国纪检监察报网站网络营销推广方案步骤
  • 成都有哪些做网站开发的大公司关键词优化外包
  • 哈尔滨网站开发公司电话网址查询工具
  • 英文网站建设方法视频剪辑培训班一般学费多少