一个简单的需求,怎样设计这个框架比较合适?

liunliun liunliun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在一个2000*2000的地图中,每个地块上面都可以建房子,每个地块有相应的操作,每个建筑物也有。
那么我想设计一个mapManager类中含有2000*2000的tileMap类,与此同时在mapmanager中有一个buildingManager类,其中也含有一个list<Building>类

现在有个问题是假设我需要新建某建筑,那么这个函数比如说create(),一定是在buildingmanager中或者在Building类中,同时又需要更改当前地块也就是tileMap的属性,比如说吧土地改成工业用地。
那么问题是如何吧mapmanager的对象传入这个create函数中?我知道可以直接参数传递,但是那样的话就相当于吧父容器的实例传给子实例做参数,是不是不太好?

说简单点,就是mapManager中包含tileMap,包含buildingManager,那么想在buildingmanager的函数create中修改mapmanager的tilemap的属性,要怎么改?直接吧mapmanager作为参数传递进去是不是不好。有没有其他设计的办法

有没有更好的办法设计这两个类?
...全文

相关推荐

探讨和比较Java和.NET的序列化(Serialization)框架

探讨和比较Java和.NET的序列化(Serialization)框架

qooqoq

【人工智能时代】- 深度学习框架比较,该选择哪一个

Pytorch在学术界优势很大,关于用到深度学习模型的文章,除了Google的,其他大部分都是通过Pytorch进行实验的,究其原因,一是Pytorch库足够简单,跟NumPy,SciPy等可以无缝连接,而且基于tensor的GPU加速非常给力,二是训练网络迭代的核心——梯度的计算,Autograd架构(借鉴于Chainer),基于Pytorch,我们可以动态地设计网络,而无需笨拙地定义静态网络图,才能去进行计算,想要对网络有任务修改,都要从头开始构建静态图。这个项目在GitHub上斩获了6.6k星。

xiaoli8748_软件开发

基于Python的Web应用程序的Web服务器比较.md

深度学习word2vec学习笔记

langlanlacn3

一个比较不错的框架 完整的框架

一个比较不错的框架 完整的框架,界面比较酷,喜欢就下载吧,拿去就可以用的

ccsbb

一个Vue前端框架使用简单实例

Vue 是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。下文是Vue的简单使用并使用nginx进行发布。 1.环境:本次实例在windows环境进行,所以首先下载windows环境下的nginx并置于相关目录下,本次实验的nginx版本为1.12.2 2.下载vue.min.js文件,这个请读者自行解决 3.创建一个简单的前端页面simple.html,并将vue.min.js和simple.html处于同一目录下,二者均处于BootStrapDemo文件下,如下图

weixin_38508549
评论 3
收藏 已收藏
分享
返回顶部
liunliun
C# 111,129 成员 642,538 内容