正文
当然了,因为文章是我写的,我也得得瑟的显摆一下OSGi.NET的设计。
可以说,OSGi.NET的设计。OSGi.NET的设计也是类似于MEF,内核很简单,只是为了实现三大功能:动态插件化、面向服务、扩展。
不过,我们却可以从简单的OSGi.NET来支撑WinForm、ASP.NET、ASP.NET MVC等任意应用,从简单控制台扩展到iOpenWorks这样的自动化部署与软件生产线平台。它的扩展方式是:
WinForm等桌面插件应用 = OSGi.NET + 应用插件
ASP.NET应用 = OSGi.NET + WebExtension + Web插件
MVC应用 = OSGi.NET + WebExtension + MvcWebExtension + Web插件
自动部署 = OSGi.NET应用 + iOpenWorksBundleRepository + iOpenWorksBootstrap + 自动升级插件
远程服务 = OSGi.NET应用 + 远程服务宿主插件
负载均衡 = OSGi.NET应用 + 远程服务宿主插件 + 负载均衡客户端插件。
在OSGi.NET之上的任何应用,都是基于组合和扩展的方式,并没有去不断变更OSGi.NET内核本身的代码。
此外,OSGi.NET内核能够支持.NET Framework、Mono、.NET Compact Framework,因为它设计的模型非常小,没有用过多的类库支持。
3 谦虚随和
我们的客户都是一些大的企业,接触了很多各种类型的技术人员。
你可以发现一个非常有趣的现象,那些懂得尊重别人、
比较谦虚的人经过深入接触后,会发现他们的技术往往都很了不起。
而那些说话刻薄无礼,觉得这个技术也不怎样,那个技术没什么了不起的,这个技术没有什么用,我自己的东西已经挺好的,这样的人水平、经验和见识一般都不怎样。
软件的问题,并不是简简单单解决一个技术问题,从技术的角度上看,只要学会了使用技术,那么我们就已经掌握了技术,因此,单纯的技术是很简单的。
相反的是,软件的协作开发、管理,软件的易用性,软件是否美观,这些东西才是最麻烦的,也往往是技术水平一般、经验短缺的程序员意识不到的东西。
我曾经接触过不少一般的程序员,大体都是这一类,他们觉得软件太简单了,没有什么了不起的。对于什么思想,也不屑一顾,他们已经觉得自己掌握了很多真正的技术。
4 异常处理与稳定健壮
通过异常处理可以看出一个程序员程序设计的严谨与扎实的基础知识。
对于Java开发人员而言,会发现每一个方法都有可能需要强制的处理异常和声明这个函数需要处理的异常,这中强制的约束,会强迫开发人员来习惯性的考虑和思考它。
不过,对于大部分人来说,它处理异常的方式就是简单的使用try { … } catch(Exception anyException) { // 忽略异常 },用这种方式来捕捉所有的异常信息。