贪吃小怪兽介绍之功能模块框架

如图所示,这个东西主要是从一个山寨贪吃蛇大作战的项目中学来的,SendMessage的签名是SendMessage(string target,string msg,param object[] args),target是模块名,msg是对应的方法名,args是对应的参数,通过反射发送到指定模块,如果模块不存在就缓存起来,等创建后再把事件和消息发给模块。举个实际的例子,Module1是LoginModule,Module2是HomeModule,LoginModule的OnLogin登录成功后通知HomeModule打开主界面,并把用户名传给他,这时候就可以SendMessage给HomeModule的Show,传入一个UserName,打开主界面,这样做的好处是静态解耦,一个模块不存在还是可以编译调试(虽然我还没体会到这种好处,也许在团队开发才会体现这种优点吧。)

猜你喜欢

转载自blog.csdn.net/qq_30858573/article/details/79411554