我对于游戏框架的理解——框架,消息机制

来源:互联网 发布:只差一个程序员了 编辑:程序博客网 时间:2024/06/15 22:56
框架:
框架之所以被称为框架。从字面意思上来说是制造了一个框框,也就是规矩。规矩限定了自由。
限定了自由不是局限。而是更加方便管理。——公路是地表的框架。所以车辆才能被有序的管理。
框架方便管理体应该体现在。当你更改了系统中的一个选项时,你不需要一个个页面来更改。而是整体的都会更改。当你写了一个类型相似的程序时不需要一切从头开始。
框架应该很方便移植。写一个程序A的时间假如是N。如果用了把常用功能整合成框架。所需要的时间可能是2N。如果开始第二个和A同类型的程序B。使用之前的框架应该达到二分之N 才合理。
这就要求了,框架中不会包含程序A实现的具体逻辑。而是具体逻辑依赖与框架。(这也是将他作为框架的前提)。特别是UI框架中。框架中的组件不能依赖于View视图。之前一直以为框架就在MVC中就是C层。这可真是大错特错。现在看来。在MVC中,是框架制订了MVC这3个模块的规则。

消息机制:
消息机制,顾名思义传递消息。问题在于:为什么需要传递消息?大家的一致答案就是:解耦和。一般情况下A-》B A-》C 那么A一定要包含B,C的引用才能调用。如果你修改了B,那么你很有可能就要修改A,假如A是平台,B是个体。不应该让一个个体去影响平台。如果使用了消息机制
A-messageCenter-》b 有messageCenter 来作为中间间。就可以解开A,B之间的耦合。
那么messageCenter如何 处理的呢。
简单来说就是通过一个字典和一个委托。调用方也就是A 发送消息。接收方也就是B接受消息。通过center把B接受消息后需要执行的方法作为委托添加到center中的字典的value中,key就是这个消息的名字,简单说就是这个消息是让你做什么的总的有个名字。A作为发送方在需要调用B时,发送消息,center查看字典中有没有这个消息,如果有了,就通过委托来调用。这样就实现了A,B互不知晓也可以调用的方法。

PS:具体的逻辑实现,网上太多。这里只是写下我自己对其的理解。

原创粉丝点击