Unity设计模式—组合模式

文章介绍了组合模式在游戏开发中的应用,通过定义抽象构件类和ITradable接口,使得农田和农作物可以被统一管理,实现了客户端对单个对象和组合对象的统一操作。这种方式简化了代码管理和调用,适用于需要处理树状对象结构的情况。
摘要由CSDN通过智能技术生成

组合模式

请添加图片描述

概要

组合多个对象形成树形结构用来表示具有部分—整体关系的层次结构。组合模式让客户端可以统一对待单个对象和组合对象

组合模式的关键在于定义了一个抽象构件类,它既可以代表叶子,又可以代表容器。

客户端针对该抽象构建类进行编程,无需知道它到底表示的是叶子还是容器,可以对他进行统一的管理。

请添加图片描述

需求

你在开发一款模拟经营游戏。

这款游戏里有农田Farm,农田上可以种水果Fruit,也可以种水稻Wheat,还可以种花Grass。

  • 水果/水稻/花都可以卖掉
  • 水果/水稻/花都是有价格的,策划需要我们提供一个方法可以获得它们的价格
  • 水果/水稻/花都可以快速收获,快速收获可以直接获得相对应的奖励
  • 农田是一种建筑,可以被回收(水果/水稻/花不能被回收)

这还不简单嘛,Fruit/Wheat/Grass都继承Crop这个抽象基类,Crop定义Sell(),GetPrice(),QuickHarvest()三个方法。

Farm继承Item这个基类,Item定义了Recycle方法。

然后再给

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NickPansh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值