学习中也有磨合期,StrangeIOC学习感受

最近在学习StrangeIOC这个插件,Unity的。

发现网上的StrangeIOC的文章都写了一个HelloWorld的例子,这个例子是用Signal来实现消息传递和触发的。

一堆代码,光是一个HelloWorld就5个类不止。

感觉一开始有点抵触心里啊,对于一个纯代码的一个MVC插件,写个HelloWorld这么费劲,而且各种层。

最后还是耐下心来把HelloWorld敲完了,在敲的过程中也收获了一些东西,关于这个插件的一些知识吧。

最后有点慢慢感觉这个插件不错,还蛮好的,慢慢的研究他的例子,慢慢的明白了他整个通讯过程。

其实对于一个StrangeIOC的刚接触的程序来说,并不知道StrangeIOC消息传递有两种形式,一种是Event的形式,还有一种是Signal的形式。

Event的话就是有一个dispatcher,来触发这个Event,然后你还能对这个dispatcher加监听事件,如果你监听的Event触发了,你就会收到回调。

如果你对Event的方式用多了,你会发现dispatcher实例会有很多,你发现dispatcher各处有实例,最后不知道调哪边的dispatcher,监听哪个dispatcher。

这个时候你就会想到用Signal了,你会发现Signal在这个方面就简单,你可以针对一个Signal进行触发,也可以监听这个Signal是否触发了。

一些细节给学习StrangeIOC的人:

1.dispatcher一般会出现在Event打头的类里面,因为dispatcher只是在Event机制中出现,在Signal机制中不会有Event。

2.好像没啥建议了,最好自己多写写里面的代码,光看是没有用的,越看越迷糊。等你写到那个程度,你再看就懂了。

自己瞎写写的,有什么问题或者我个人理解有误别怪我啊!!

还有,我发现把知识分享给别人的时候,自己会得到很多快乐,并且更多的得到了对这个只是更深度的理解。

所以,以后要多多分享。

时间: 2024-10-01 03:24:00

学习中也有磨合期,StrangeIOC学习感受的相关文章

编程学习中要注意效率和感受

早一个多月,收到了一位网友的求助信,请我帮他做一道程序题.这样的求助我是不会直接解答的.如果要想通过读程序来学习,可读的程序太多了,不在乎由我写的这一段程序. 我给他的回信是,他可以自己做出来一个版本,无论对错,我们就他的做法进行讨论.这是我认为有效的交流.提问者没有做,靠着人给讲,这种学习方式,可以休矣.无论对错.好坏,他自己做过了,针对他自己的讨论点就出来了.我当时的答复是: 我的时间有限,将你做过的给我发来,并提出具体问题再讨论为佳.在学习中,这种交流的方式(有一个问题,不说自己的见解,直

学编程,学单词.....在学习中积累自己的单词(不断更新__ing)

可以去肆意大话天下,可以去小民一般的言语,但是一定要清楚,知识的积累,至于心中,这样,你才能低至市井,上至高阁....畅通无阻! 1.  Loowater  厕所水 , Loo 盥洗室 学编程,学单词.....在学习中积累自己的单词(不断更新__ing),布布扣,bubuko.com

MFC学习中遇到的小问题和解决方案

1 清除combox里面的内容((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容2 如何获取鼠标指针的位置GetWindowRect 详情见657面 超市管理系统 3 如何获取combox下拉列表的索引:int selgetcursel;getlbtext; 4 选中某行某列值并修改SetItemText 5 单击选中listcontrol控件某行右键 添加一个菜单 并触发事件 (见该网页第15条记录) http:/

作为一名IT从业者,你在工作和学习中,遇到哪些问题

大家都是IT从业者,遇到的问题多少与相似. 如果能把这些问题总结下来,并给出解决方案,相信可以帮助很多的人. 我在ITFriend发起了一个话题"作为一名IT从业者,你在工作和学习中,遇到哪些问题",有很多网友给出了很好的答案. 希望对大家有所帮助. 周琦: 首先说说工作上,作为研发,产品需求不断变更,导致不停的重写代码,这时就需要和产品那边进行沟通确定明确的需求了,而且作为研发我们也可以从产品上提出自己的意见和需求.从而引导别人和提高自己上做出更大的提高.  而当遇到测试方面提出的各

有关JAVA基础学习中的集合讨论

    很高兴能在这里认识大家,我也是刚刚接触后端开发的学习者,相信很多朋友在学习中都会遇到很多头疼的问题,希望我们都能够把问题分享出来,把自己的学习思路整理出来,我们一起探讨一起成长.    今天我在这里简单讲解一下我对学习中集合的理解.很多朋友再写解释的时候,没有从最简单说起,造成了阅读中的困惑,或许我能帮助你对集合有一个新的认识.   首先当我们谈到集合的时候要了解一下集合的具体概念. java集合的概念是相对于数组来说的,那么什么是数组呢?   数组:数组是一段连续存储单元. 每个存储单

java学习中,object 对象的使用(toString、equals、hashCode)(java 学习中的小记录)

java学习中,object 对象的使用(java 学习中的小记录)作者:王可利(Star·星星) object 对象(参考API学习) 重点掌握三个方法: 1.toString 返回该对象的字符串表示. 2.equals(object obj)指示其他某个对象是否与这个对象相等. 3.hashCode() 返回对象的哈希码. 详见代码的注释分析(一个是Person类重写方法,一个是Star类使用方法) Star类代码: 1 package study; 2 3 public class sta

Java学习中,常用的命令管理(Java 学习中的小记录)

Java学习中,常用的命令管理      作者:王可利(Star·星星) 一.Window中常见的dos命令 在哪里操作dos命令: Win7 ---> 开始  ---->所有程序--->附件---->命令提示符 Win7-->  开始  --->运行  ---->输入cmd 1.1 盘符的切换: 盘符眀+冒号  格式: 盘符: 例子: 想从C盘到D盘 C:/User/xxxx  D: 1.2 文件夹的操作 dir :显示当前文件夹中的所有文件和文件夹. cd 路

关于Linux学习中的问题和体会

本科期间未开展过与之相关的课程,所以初次接触Linux难免有些问题!参照老师给的学习资料中内容,逐步解决了一些问题,但还有一些问题没解决,下面列举出自己遇到的一些问题. 1.在环境变量与文件查找专题中,使用vim命令代开sh文件,界面处于可编辑状态,但在窗口编辑过程中编辑完后的文件无法保存,,,,,,后来使用手动创建的方式分别创建了sh文件和C语言文件,完成后来的实验!但需要解决的问题是vim命令使用后文件如何保存. 2.在环境变量专题中,对于环境变量的具体作用理解的还不是很透. 3.在软件安装

重写page的OnInit(学习中总结的)

在写b/s框架的系统的时候,我们会发现,我们经常会在不同的网页中验证Session是否存在,,而我这里没有用Session,用的是MemCache技术,其实它就是键值对. 只不过将Memcache中的键,当Cookies中的值存储,然后,验证的时候,返回一步一步获取Memcache中的值. 为了不用每次判断Cookies["sessionid"]是否存在,我们可以把复用代码写在system.Web.UI.Page中的OnInit中, using System; using System