游戏开发设计模式--桥接模式

情景

现在假设要定义一些图形,这些图形按形状可分为圆形、三角形,按颜色可分为红色图形,绿色图形。

直接了当的实现方式

根据上述描述分别根据形状、颜色分类
在这里插入图片描述
一共有四种图形(实现类):红色圆形,红色三角形,绿色圆形,绿色三角形
在这里插入图片描述
面对变化时: 当新增一种颜色时,每个形状都要新增对应一个实现类,假设有n种形状,m种颜色,需要实现n*m个类,太过繁琐。

解决思路: 将颜色作为一个属性组合到形状当中。
在这里插入图片描述
这时,新增一个颜色或形状时,只需要加对应的一个实现类。

桥接模式

GOF中的定义: 将抽象与实现分离,使得二者可以独立地变化。

上述情景中,“实现”指的是形状,“抽象”指的是颜色,二者分离之后,都可以独立变化而互不影响。

更通俗地来说,当一个群组能根据多个维度进行划分时,可选择其中的一个维度作为“实现”即载体,而将其他的维度作为“抽象”部分,嵌入到“实现”中。

  • 抽象群组只负责新增抽象的内容(即颜色),红色、绿色都不是具体的图形。
  • 实现群组(形状)中嵌入了抽象部分(颜色),形状+颜色定义的是具体的图形。

使用场景

桥接模式的定义虽然较难以理解,但是应用起来十分简单且顺理成章。

例如:角色与武器的实现

CharacterBase

public abstract CharacterBase{
	/*
	*	properties
	*/
	private WeaponBase m_weapon;
	public WeaponBase Weapon{
		get{return m_weapon;}
		set{
			m_weapon = value;
			m_weapon.owner = this;
		}
	}

	//攻击
	public override void Attack(CharacterBase target){
		if(m_weapon != null){
			m_weapon.Attack(target);
		}
	}
}

WeaponBase

public abstract WeaponBase{
	/*
	*	properties
	*/
	public CharacterBase owner;
	public abstract void Attack(CharacterBase target);
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 设计模式游戏与完美开发 PDF 是两个不同的东西,其设计模式游戏是一本介绍常用设计模式的书籍,而完美开发 PDF 是一种开发技巧与知识总结的文档。 设计模式游戏适合那些想更深入了解设计模式的软件工程师、程序设计师或学习设计模式的学生。这本书详细介绍了23种常见的设计模式,并通过游戏方式帮助读者更好地理解和掌握这些模式的应用。设计模式可以提高代码的可读性、可维护性和可扩展性,是面向对象编程的重要思想。 完美开发 PDF 则适合那些想提升自己开发技巧和知识的人员。这份文档详细总结了一些软件开发的注意事项和技巧,如代码规范、调试技巧、内存管理、测试等。这些知识和技巧可以帮助开发人员写出高质量、高效率的代码,提高开发效率和质量。 总的来说,这两个东西都是非常有价值的,但需要针对自己的需求选择合适的。设计模式游戏可以帮助读者掌握常用的设计模式,提高自己的编程思维和能力,而完美开发 PDF 则可以帮助读者提高开发能力和效率,写出更加高质量的代码。 ### 回答2: 设计模式游戏是一个基于游戏框架的学习设计模式的互动式教程。该游戏涵盖了常见的设计模式,通过解决问题,并用代码实现来学习设计模式游戏的角色扮演和动画效果增加了游戏的趣味性和互动性,从而更容易留下深刻的理解。设计模式游戏是一个非常有效的学习工具,使得学习设计模式更加生动和有趣。 而完美开发 pdf 则是一本以实践为主的技术书籍,它详细介绍了软件开发的各个环节,包括需求分析、设计、代码实现、测试、维护等。该书以项目驱动的方式,给出了概念性介绍和实际的代码实现,使得读者可以了解到整个软件开发流程,并获得实际的代码编写技巧和实践经验。完美开发 pdf 是一本非常实用的技术书籍,适合那些想要学习软件开发和完整项目开发的人员。 两者相比较,设计模式游戏更注重提高学习者的兴趣和理解,而完美开发 pdf 更注重实际操作和项目实践,两者均是非常有效的学习工具和实践指南,适合不同层次的软件工程师和学习者。 ### 回答3: 设计模式游戏是一款面向软件开发者的教育游戏,其目的是通过互动式的游戏流程,让学习者深入了解和掌握设计模式的原理、应用和实现。通过该游戏的教育模式,学习者可在不断试错和调整的过程,逐渐领会设计模式的实际意义和作用,有效提升自身的软件设计和开发能力。相比传统的讲授式教育模式设计模式游戏更注重学习者的实践和探索,提升学员的参与度和自主学习能力。 而完美开发 pdf 则是一本软件开发者必备的技术读物,它以设计模式为基础,深入解析了软件开发的各个方面,涉及到的知识点非常全面而深入。它主要从实践的角度出发,以案例为驱动,通过实例和代码的演示,让读者系统地了解和掌握软件设计和开发的常见问题和解决方案。作为一本非常经典的开发读物,完美开发 pdf 具有指导性和启发性,可让软件开发者在实践逐渐成长和完善自身的工作和技能。 因此,通过设计模式游戏与完美开发 pdf 的学习,软件开发者可在掌握设计模式的同时,更全面地了解和掌握软件开发的各个方面,从而在实践不断成长和提升自身的技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值