IssueVision是2004年出来的,记的当时刚毕业,正忙于生计,到处奔波找工作,我所学的专业是生物制药,毕业时才发现我根本不清楚应该去搞什么,当时猪肉没现在贵,如果是今天我会考虑去养猪的,不过那时老妈也建议过去一家农药场,说是国家级的,但是我发现我们后面一个国家级的饲料厂也就几间破房子,于是坚决不去,再后来就这样那样,那样这样,于是我开始做网站了,不会美工,能写几个程序,不提了....总之一句话,当年去养猪就好了.
IssueVision第一次是2005年在书店看到的<<.Net经典案例>>,那时在公司做网站还多用Asp,并正在学asp.net于是就卖下来了,恩恩,我有很多书都是这样卖下来的(根本不清楚书里讲什么就卖了),买回来后就仍了以前住的地方没凳子,可以用来殿屁股,现在有了,我另外一个朋友也有凳子了,于是我自己的书,以及他向我借的书,,都没什么用处了,可能就是搬家时多一点三轮车钱,貌似在外打工的经常搬家. 当时上班的那家公司比较忙,加上我刚做网站不久,根本没太多时间来学.Net,大多时间多用看一套动网6.0的文章系统,因为有个电视台做个门户用的就是这个,有个青海来的程序员,突然走了,于是就交给我了,我的确花了不少时间来看那套代码,印象比较深的是它的N级分类.
而IssueVision或者<<.Net经典案例>>除了看完前5页外其他有代码的地方就看不懂了.
2006很快过去了2007的今天我仍旧后悔没去养猪,不过工作相对来说不是很忙,现在做的是程序,网管加打杂的工作,于是就有时间看那本书了,当然今天我对.Net技术的了解冲其量也是新手入门,好象06年玩,魔兽世界的水平是日见精深,甚至自己捣鼓美工做了个站点wow52.以此来收集各种游戏文章,加以研究.本文的目的也是给有养猪打算的同志朋友学习IssueVision的一点帮助.
IssueVision涉及的技术相对来说比较多,不过多不是很深入,就实用来说我们不需要去详细研究,知道这是什么,怎么用就可以了想DPAPI这些知道怎么用就好了,具体原理不必去深究(找了一天的Google,百度,多是说怎么用的,最后貌似找了篇e文的,介绍原理的,发现自己英文吃不消,初二开始貌似英文就没及格过了),关于DPAPI 在IssueVision的客户端的Libraries/目录下有个DataProtection.cs 文件它调用相关的Windows API实现数据的加密与解蜜算法,在数据加密方面,加密(解密)算法多是公开的,数据安全完全取决于"密匙"的安全,那么怎样使密码安全呢,好象放在那里多不安全,于是就出了DPAPI,你可以把保留密匙的任务交给它,你只要用他加密解密就行了,在IssueVision中DPAPI用来加密连接字符窜,客户端操作数据, 如果这些数据被其他人知道,除非他能控制,或使用你的电脑,他才能解密,在其他电脑上他是无法解密的,这样相对的来说安全些.(希望了解DPAPI原理的给些参考资料想多了解些)
另外IssueVision里的windows窗体控件,需要一些GUI+的感念,从面向对象的角度考虑就是,画布,画笔,颜料等等,只要几行代码你就可以画出简单的控件了,这些只要你去尝试就好了,这样你再看IssueVision时就不会感到内容很多,很杂. 还有IssueVision里 服务端的IVData跟客户端的IssueSubject多是采用组件的即从Componet继承的类,其实还是类,不过你可以切换到窗体视图,往上面拖控件,比方timer,DataSet sqlDataAdapter之类的,你看下IVData里的很多sqlCommand的配置代码这些多是系统生成的.对于IVData,IssueSubject继承Component的事情,了解这么多我想也就可以了,我们现在要做的是全局.
ADO.Net在这里面比较关键,离线数据跟冲突检测多依赖于他,相信很多像我这样的程序员,用的最多的就是他了,不过可能做惯Web编程(PetShop模式的)朋友,对DataSet,DataRow,RowState,OriginVision,Meger这些没多少关注,但是在IssueVision这些是必需了解的,建议去找本ADO.Net方面的书看看,当然你只做B/S的那ADO.Net就不需求那么多了.
IssueVision里还涉及到一些设计模式,像观察模式,命令者模式,这些有很多高人写过想关文章了,去找下就好了,其他像WebServices相信多能捣鼓几下,存储过程,数据库应该问题不大把,另外要注意的的在IssueVision数据库的Issues表里有个触发器,开始一直郁闷他插入操作,为什么不更新时间戳(数据表中的)后来才发现原来用这些实现.