设计模式之桥接模式,电脑与游戏的关系

这篇具有很好参考价值的文章主要介绍了设计模式之桥接模式,电脑与游戏的关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本文主要讲述桥接模式,文中使用通俗易懂的案例,使你更好的学习本章知识点并理解原理,做到有道无术。

一.什么是桥接模式

桥接模式是23种设计模式中结构型模式的一种,将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变,来实现两者的解耦,并保持各部分的独立性以及他们的功能扩展。

二.生活中的桥接模式

1.电脑与游戏

在咱们使用的电脑里,有分为台式电脑、笔记本电脑、平板电脑。而我们在不同电脑上可以又可以玩相同的游戏,未来电脑可能会有其他类型的电脑,而游戏也会更新迭代,电脑与游戏的关系就像桥接模式一样,独立发展但是又能合结合起来。
设计模式之桥接模式,电脑与游戏的关系

2.手机与软件

咱们现在的手机有各种各样的手机,软件也是有各种各样的软件,不同的软件可以同时存在一部手机里,不同的手机也可以存在相同的软件,软件和手机也是咱们接下来要说的桥接模式一样,独立发展但是又能结合起来。

设计模式之桥接模式,电脑与游戏的关系

3.车型与品牌

现在的汽车比以前更加的多样化了,以前只有柴油车和汽油车,现在不仅有纯电车还有混动车,或许发展到以后可能会出现太阳能汽车。而车的品牌也比以前越来越多了,而不同品牌的车存在不同车型的车,相同车型的车也有不同的品牌。车的品牌和车型之间的关系就像桥接模式一样,两个分开独立的维度而又能够结合起来。

设计模式之桥接模式,电脑与游戏的关系

三.桥接模式的实现

接下来我们以电脑和游戏之间关系的案例,通过桥接模式来实现。首先创建一个实现类接口角色电脑游戏接口和两个具体实现类角色游戏类

package com.qianfeng.ran;

/*
 * @author:江帅
 *      实现类接口
 *          电脑游戏接口
 */
public interface ComputerGame {
    /**
     *  被下载的行为      --  供抽象实现角色调用
     * @param computer 具体的电脑类型
     */
    void beDownload(String computer);
}



/*
 * @author:江帅
 *      具体实现化角色
 *          Dota2 游戏类
 */
class DOTA2 implements ComputerGame{

    @Override
    public void beDownload(String computer) {
        System.out.println("使用"+computer+"玩 Dota2");
    }
}



/*
 * @author:江帅
 *      具体实现化角色
 *          LOL 游戏类
 */
class LOL implements ComputerGame{
    @Override
    public void beDownload(String computer) {
        System.out.println("使用"+computer+"玩 LOL");
    }
}

接下来创建抽象化类电脑类和抽象化实现类具体型号的电脑类

package com.qianfeng.ran;

/*
 * @author:江帅
 *      抽象化类
 *          电脑类
 */
public abstract class Computer {
    //游戏类对象
    public ComputerGame computerGame;
    public void setComputerGame(ComputerGame computerGame) {
        this.computerGame = computerGame;
    }
    /**
     * 玩游戏行为
     */
    public abstract void playGame();
}



/*
 * @author:江帅
 *      抽象化实现类
 *          台式电脑类
 */
class DesktopComputer extends Computer{
    @Override
    public void playGame() {
        //下载游戏
        computerGame.beDownload("台式电脑");
    }
}



/*
 * @author:江帅
 *      抽象化实现类
 *          笔记本电脑类
 */
class LaptopComputer extends Computer {
    @Override
    public void playGame() {
        //下载游戏
        computerGame.beDownload("笔记本电脑");
    }
}

最后通过桥接模式实现不同型号的电脑上玩不同的游戏

package com.qianfeng.ran.;

/*
 * @author:江帅
 *          客户端
 */
public class Demo {
    public static void main(String[] args) {
        //创建 DOTA2 游戏对象
        ComputerGame dota2 = new DOTA2();
        //创建 LOL 游戏对象
        ComputerGame lol = new LOL();

        //--------------使用台式电脑玩dota2-------
        //创建台式电脑对象
        Computer computer = new DesktopComputer();
        //下载游戏		--		台式电脑对象添加 DOTA2 游戏对象
        computer.setComputerGame(dota2);
        //执行结果:
        //使用台式电脑玩 Dota2
        computer.playGame();

        //--------------使用台式电脑玩lol-------
        //下载游戏		--		台式电脑对象添加 LOL 游戏对象
        computer.setComputerGame(lol);
        //执行结果:
        //使用台式电脑玩 LOL
        computer.playGame();

        //--------------使用笔记本电脑玩dota2-------
        //创建笔记本电脑
        computer = new LaptopComputer();
        //下载游戏		--		笔记本电脑对象添加 DOTA2 游戏对象
        computer.setComputerGame(dota2);
        //执行结果:
        //使用笔记本电脑玩 Dota2
        computer.playGame();

        //--------------使用笔记本电脑玩lol-------
        //下载游戏		--		笔记本电脑对象添加 LOL 游戏对象
        computer.setComputerGame(lol);
        //执行结果:
        //使用笔记本电脑玩 LOL
        computer.playGame();
    }
}

四.总结

桥接模式适用于一个类存在两个独立变化的维度,且这两个维度都需要进行扩展并且不通过继承的方式扩展时使用。

减少了子类的产生,降低了管理和维护的成本。但是会增加系统的设计难度,需要很好地识别两个独立维度的变化。

下一章,我们将带大家学习新能源的发展(设计模式之适配器模式)文章来源地址https://www.toymoban.com/news/detail-502260.html


到了这里,关于设计模式之桥接模式,电脑与游戏的关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设计模式之~桥接模式

    桥接模式:         将抽象部分与它的实现部分分离,使他们都可以独立地变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。         什么叫抽象与它的实现分离,这并不是说,让抽象类与其派生类分离,因

    2024年02月07日
    浏览(40)
  • 设计模式:桥接模式

    桥接模式(Bridge Pattern):旨在将抽象部分和实现部分解耦,使它们可以独立地变化。这种模式通过将抽象和实现分离,使它们可以独立地进行扩展和修改,而不会相互影响。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 假如需要使用大

    2024年01月25日
    浏览(54)
  • 设计模式——桥接模式详解

    1.1⭐桥接模式的定义 维基百科: 桥接模式 是软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。 百度百科: 桥接模式 是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,

    2024年02月06日
    浏览(50)
  • 设计模式详解-桥接模式

    类型:结构型模式 实现原理:将抽象类和实现类分离,使其独立,然后使用接口再将二者连接起来。 意图:将抽象部分与实现部分分离,使它们都可以独立的变化。 主要解决:类变化频繁时用继承可能会出现的类爆炸问题。 如何解决:减少类的耦合关系,让类独立变化。

    2024年02月12日
    浏览(43)
  • 【前端设计模式】之桥接模式

    设计模式是在软件开发中经过验证的解决问题的方法。它们是从经验中总结出来的,可以帮助我们更好地组织和管理代码,提高代码的可维护性、可扩展性和可重用性。无论是前端还是后端开发,设计模式都扮演着重要的角色。在本专栏中,我们将探索一些常见的前端设计模

    2024年02月04日
    浏览(44)
  • Java设计模式-桥接模式

    桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。 这个概念听着那是相当拗口了,其实通过例子解释后,就能很好的理解了。 下面先看一个例子,这个例子表现了手机与手机软件之间的关系 2.1HandsetSoft类 这个类是手机软件的抽象类 2.2HandSetGame类 这个是

    2024年02月16日
    浏览(42)
  • js设计模式:桥接模式

    可以将复杂的类进行一些拆分,让抽象和实现进行分离解耦,可以让每一个部分都可以单独维护 方便扩展和维护

    2024年02月22日
    浏览(36)
  • 设计模式-桥接模式(Bridge)

    桥接模式(Bridge Pattern)是一种结构型设计模式,用于将抽象部分和实现部分分离,使它们可以独立地变化。这种分离允许你将一个类的功能层次结构(抽象)与另一个类的实现层次结构(实现)分开,从而在不同层次上进行修改和扩展。在本篇博客中,我们将详细介绍桥接

    2024年02月09日
    浏览(55)
  • 【结构型设计模式】C#设计模式之桥接模式

    题目:设计一个桥接模式来实现图形和颜色之间的解耦。 解析: 桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。在这个例子中,抽象部分是图形(如圆形、正方形),实现部分是颜色(如红色、蓝色)。 我们可以使用桥接模式来解耦

    2024年02月13日
    浏览(41)
  • Java 设计模式之桥接模式

    桥接模式是一种结构设计模式,它的目标是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过将继承关系改为组合关系来实现解耦。 在Java中,桥接模式的实现通常涉及两个层次结构:抽象类和具体实现类。抽象类表示抽象部分,而具体实现类表示实现部分

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包