设计模式与插件式应用框架开发

转自:https://blog.csdn.net/CloudKurten/article/details/6474898

最近在看本书,叫《大话设计模式》(作者:程杰,清华大学出版社)。忽然有种感觉,在插件式框架开发的过程中,会用到很多模式,一直在思考,会不会插件式应用开发就是众多设计模式融合的结果。比如工厂、比如原型、比如策略、比如。。。。

开发时,如果有框架,虽然刚开始的时候搭建框架会比较累,但是,当一个团队中真正的把框架搭建完成,最后要做的,只是填满框架罢了。所以,框架会更合适团队开发,更适合团队分工。最终整合时,只要继承框架中的各种插件接口,在.NET环境下,使用反射这一技术,就可以生成一个插件产生工厂(即批量生产插件)。

记得前段时间的一个项目中(本人是GIS专业,即地理信息系统。所以项目也是关于GIS的),我在使用ArcGIS Engine (一款GIS二次开发的组件,很强大)开发过程中,发觉其菜单添加是使用策略模式进行添加的。所谓策略模式,即封装各种类型的算法,我们只要实例化算法类即可。具体可参看《大话设计模式》,或者可以参考《HeadFirst设计模式》这本书是设计模式方面的权威著作。而《大话设计模式》仅仅只是简单的介绍了一下设计模式。

在插件式的思想的指导下,系统所有功能都是插件。比如我们的组装机,所有硬件都有公共的插口提供,而机箱就好比一个框架,我们只要把硬盘、CPU、主板等组装到里面即可使用这台计算机。在这里,CPU、主板、硬盘就好比机箱这个框架中的插件,他们都有统一的接口即规范式的接口进行组合。这些接口就好比机箱这个公共框架下的既定的公共契约。有了契约,我们才能把插件组装在一起,形成一个完成的系统。当然,在这里,我们采取多种方式,更有效的提高生产力----设计模式。

设计模式最初是在建筑行业上面提出来的,具体可以参看维基百科上的介绍。或者参考《HeadFirst设计模式》或者《Design Patterns-Elements of Reusable Object-Oriented Software》,在这里我就不说了。

嘿嘿,今天就写这么篇文章了,不写插件式设计了。。。

猜你喜欢

转载自www.cnblogs.com/zhaoxinshanwei/p/8881437.html