zoukankan      html  css  js  c++  java
  • 设计模式与插件式应用框架开发

    转自: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》,在这里我就不说了。

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

  • 相关阅读:
    个人亲历运维面试
    《Kubernetes进阶实战》之管理Pod资源对象
    Docker容器必备技能 -- iptables
    vue后台管理权限正确思路
    Axios 各种请求方式传递参数格式
    Cookie的使用(js-cookie插件)
    微信小程序template模板与component组件的区别和使用
    如何机智地回答浏览器兼容性问题
    webpack系列5:源码流程,webpack编译流程
    webpack系列4:文件分析.
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/8881437.html
Copyright © 2011-2022 走看看