本文主要是介绍090809周末散记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本周末在公司听了一天半的微软技术培训,讲师是前微软的工程师,年龄三十五左右,思路很清晰,英文很地道,技术水平还行(应该是强于应用,这次培训没有涉及到底层开发内容)。主要是结合C#技术来讲述微软的一些新技术。周六下午开始听,开始讲的XmlHttp、AJAX这样的Web技术,还是理清了一些概念,原来AJAX中的每一个“A”(异步)是处理与服务端交互事情的不同步,对于页面中某个事件(比如说按钮的处理),浏览器会创建一个新的线程去处理,用户不须刷新和提交整个页面,服务器对事件的处理结果就会不声不响的呈现在WEB页面。映象中Google对AJAX应用得比较多,但这位MS讲师说AJAX技术是从微软的XmlHttp模块中发源,这个观点有待证实。
周六下午还介绍了XAML和SilverLight技术,这两项技术主要用于WEB页面展现,也可以扩展到winForm程序界面的设计。XAML是微软近年推出的一种描述界面的XML描述语言,课上演示用Blender画出界面,写几行C#的响应代码,这些操作的结果都会生成一个XAML描述文档,XAML利用SilverLight技术呈现给用户一种全新的界面观感,2D的、3D的渲染做得都很有视觉冲击感。XAML技术让我感受最深的就是制作界面的方式,跟用PhotoShop处理图片的方式一样,软件的界面可以完全信手画出。想想在MFC中为了美化一个控件所做的工作,这种设计方式真是很大的进步。
周六的培训很有收获,还蹭了一顿午餐,很划算,今天上午准时来到会议室。今天上午主要讲述微软的工作流技术。工作流可以分为面向人和面向规则的两种处理模式,对于这两种模式,微软基于BizTalk研发了WF工作流技术,这套技术包括了工作流过程描述、活动结点描述、事件消息描述、事件处理引擎。具体操作的过程,首先还是通过画图的方式,将工作流模型中各个活动的关系描述出来,对应于底层其实一份WcF(忘了名字了)格式的XML文档,对于这种格式的XML文档,微软提供了一系列API,工作流的活动结点之间的关系和事件处理方式通过调用这一系列API来完成。
今天下午的内容是这次培训的重点和靓点,好东西总是留在最后讲。这位讲师开始讲用.net技术来实作一个系统架构。他把一个系统分为6个模块: 用户验证、用户权限管理、连接处理、数据映射、消息处理、日志。每个模块都讲述了几种技术方案,其中讲到兴致之处还信手拈来一段代码过来分析和鉴赏。
用户验证的处理方式讲到了单点验证方式(SSO,好像是这样拼的),这种技术在BS模式下用到了HttpModule来将验证信息传给验证中心的URL。 用户权限管理和用户验证模块是紧密结合的,用户权限管理中提到了角色分配这种处理方式,实际上是通过角色作为一个中间层隔离了用户与模块操作。在系统中只需设计一系列典型的角色,用户的权限分配给某种角色,这样就可以避免操作权限分配的复杂性。 连接处理方式讲到了连接共享技术,不同于我们常用到的连接池技术,连接共享技术是在一个连接完成多个事务,这需要改写数据库API中Open、BeginTranc、Commit,具体做法就是在这些操作中添加计数器,使其不会重复操作,提高连接资源利用效率。讲到连接共享技术,这位讲师还秀了几段他的代码。数据映射模块中讲到LinQ和NHibernate技术,这一段讲述是本次培训中最精彩的,讲师结合实务,抽丝剥茧的讲述ORM(Object-Relation Mapping)技术的实现原理,最后对LinQ和NHibernate作了对比。消息处理和日志模块因为时间关系没作多讲,讲述日志模块时提及了微软的Enterprise Lib。
这次培训让我对微软的技术体系有了一个全面的了解,让我对微软技术有了一点点兴趣;讲师的专业与敬业也改变了我过去对IT培训的看法。刚刚在豆瓣发现一本新书<<观止>>,讲的NT内核的设计开发人员,似乎写得不错,有时间去买一本。Unix崇尚开放、自由的文化与MS重视界面交互的便捷性的文化也有需要合流的场景。
这个周末过得很充实,不错。
后记:培训的讲师最后没有提供他的部分DEMO代码,他说这些都是运行中的代码,虽然他现在不在微软工作,但为了安全的原因,还是不能公开。微软经常以安全为由不开放源代码,这样说来Linux是不安全的系统,Apache也不安全。
这篇关于090809周末散记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!