【设计模式无难事】——Bridge模式

本文介绍了Bridge设计模式,通过游戏中的武器和特效为例,阐述了如何使用该模式将抽象部分与实现部分分离,使两者可以独立变化。Bridge模式在Android中也有应用,如Window与WindowManager的关系。文章提供了详细的代码示例和在Android源码中的实际应用解析。
摘要由CSDN通过智能技术生成

【设计模式无难事】——Bridge模式
这里写图片描述
一、意图
桥接模式,顾名思义,这里有一个“桥”。。。
为什么需要一个“桥”呢?
我们用它来连接什么呢?
下面先看一个例子

二、例子
需求场景
在游戏中,玩家使用武器砍怪时,战斗的特效的实现
武器:宝剑、铁锤
特效:吸魂、回旋飞

分析&实作
桥接模式实现
1,所有的特效都包括:激活,运用,消失。于是我们定义一个特效接口
Enchantment.java

/**
 * 
 * Enchantment 施魔法
 * 
 */
public interface Enchantment {
   

  void onActivate();

  void apply();

  void onDeactivate();
}

2,接着我们做一个吸魂的特效
SoulEatingEnchantment.java

/**
 * 
 * SoulEatingEnchantment
 * 吸魂
 */
public class SoulEatingEnchantment implements Enchantment {
   

  private static final Logger LOGGER = LoggerFactory.getLogger(SoulEatingEnchantment.class);

  @Override
  public void onActivate() {
    LOGGER.info("物体变得嗜血起来!");
  }

  @Override
  public void apply() {
    LOGGER.info("物体吸收敌人的魂魄!");
  }

  @Override
  public void onDeactivate() {
    LOGGER.info("嗜血状态慢慢消失了!");
  }
}

3,接下来,回旋飞特效
FlyingEnchantment.java

/**
 * 
 * FlyingEnchantment
 * 回旋飞
 */
public class FlyingEnchantment implements Enchantment {
   

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值