一个简单的需求,怎样设计这个框架比较合适?
在一个2000*2000的地图中,每个地块上面都可以建房子,每个地块有相应的操作,每个建筑物也有。
那么我想设计一个mapManager类中含有2000*2000的tileMap类,与此同时在mapmanager中有一个buildingManager类,其中也含有一个list<Building>类
现在有个问题是假设我需要新建某建筑,那么这个函数比如说create(),一定是在buildingmanager中或者在Building类中,同时又需要更改当前地块也就是tileMap的属性,比如说吧土地改成工业用地。
那么问题是如何吧mapmanager的对象传入这个create函数中?我知道可以直接参数传递,但是那样的话就相当于吧父容器的实例传给子实例做参数,是不是不太好?
说简单点,就是mapManager中包含tileMap,包含buildingManager,那么想在buildingmanager的函数create中修改mapmanager的tilemap的属性,要怎么改?直接吧mapmanager作为参数传递进去是不是不好。有没有其他设计的办法
有没有更好的办法设计这两个类?