恭喜,你发布的帖子
发布于 2023-08-15 21:02:47
51楼
正如“先入先出”控制块,它的存在是为了协调多个对象之间的前后关系的,但它能够协调多少对象,在这个块写完后,这个块所能够协调的对象的最大数量是已经确定了的。
为什么不能有个块可以自动适应任意个数的控制对象的协调呢?
我明白了,你所描述的是控制对象之间逻辑关系的功能块,但控制对象之间的逻辑关系千差万别,排个队是最最简单的关系了吧?不同的逻辑关系,是不是需要不同的功能块?你用一个数据接口,让两个不同的功能块能分别判断变化的功能?
所以我说:
针对这些,我就建议将每一个对象拆分出来做成一个单独的块,再根据每个工程的不同来调用适合的数量的势力(实例),然后通过一个统一的inout接口来协调他们之间的逻辑关系。
这段话你重复很多遍了,始终不能理解,打个比方,你是一个管理员管很多个排队的人,还是每个排队的人都有一个管理员,当然这个管理员像孙悟空那样有分身术而脑子是统一的?愿闻其详。
打个比方,你是一个管理员管很多个排队的人,还是每个排队的人都有一个管理员,当然这个管理员像孙悟空那样有分身术而脑子是统一的?愿闻其详。
我很高兴你能够举出这个例子,我的意思是后者,所有人都想孙悟空一样可以分身,他们之间有两个数码管可以进行循环传递,当每个队员拿到这两个数码管后,都有能力确定自己所在的位置。
即使前面有队员插队、出队,后方的队员都有能力确定自己的位置所受到的影响,并重新定位自己的位置。
而传统思维则总需要有一个管理员来管理队员的位置。
怎么做?
每一个队员通过哪些信息确定自己的位置?只需要两个变量:任务ID+数据。
总的来说很简单,通过任务ID,可以定义不同的任务,每个队员通过任务ID,确定自己应该如何处理数据。
于是通过这种思维,可以将对象分离,通过任务ID+数据,每一个对象都可以协调自己与整体之间的逻辑关系。
这种思维当然也不仅限于排队,只要满足以下条件即可:
1、每个对象的处理方式是类似的。
2、每个工程中的对象数量差别较大。
3、想要灵活的变更对象数量。
请填写推广理由:
分享
只看
楼主