`

平台+插件软件设计基本思想

    博客分类:
  • C#
 
阅读更多

平台+插件软件设计基本思想
      插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。平台+插件软件结构是将一个待开发的目标软件分为两部分,一部分为程序的主体或主框架,可定义为平台,另一部分为功能扩展或补充模块,可定义为插件。
      在进行软件开发之前,是否采用平台+插件结构进行软件开发,还要依据具体的软件需求情况进行确定,但一般来讲,使用平台+插件结构进行软件设计会给所开发软件增加新的生命力。当确定平台+插件的软件结构之后,就要分析哪些部分功能由主体完成,即平台的基本功能,哪些部分功能由插件完成,即需要扩展的插件功能。平台所完成的功能应为一个软件系统的核心和基础,这些基本功能即可为用户使用,也可为插件使用,就是又可以把平台基本功能分为两个部分,内核功能和插件处理功能。平台的内核功能是整个软件的重要功能,一个软件的大部分功能因由内核功能完成。平台的插件处理功能用于扩展平台和管理插件,为插件操纵平台和与插件通信提供标准平台扩展接口。插件所完成的功能是对平台功能的扩展与补充,一般插件完成系列化功能,例如:PHOTOSHOP的滤镜插件完成对图形的特殊效果处理,这些功能都有一些共性,可以进行集中管理,并且是可以定义出标准的插件接口。
      为了实现平台+插件结构的软件设计需要定义两个标准接口,一个为由平台所实现的平台扩展接口,一个为插件所实现的插件接口。这里需要说明的是:平台扩展接口完全由平台实现,插件只是调用和使用,插件接口完全由插件实现,平台也只是调用和使用。平台扩展接口实现插件向平台方向的单向通信,插件通过平台扩展接口可获取主框架的各种资源和数据,可包括各种系统句柄,程序内部数据以及内存分配等。插件接口为平台向插件方向的单向通信,平台通过插件接口调用插件所实现的功能,读取插件处理数据等。
      平台插件处理功能包括插件注册、管理和调用,以及平台扩展接口的功能实现。插件注册为按照某种机制首先在系统中搜索已安装插件,之后将搜索到的插件注册到平台上,并在平台上生成相应的调用机制,这包括菜单选项、工具栏、内部调用等。插件管理完成插件与平台的协调,为各插件在平台上生成管理信息以及进行插件的状态跟踪。插件调用为调用各插件所实现的功能。平台插件处理功能实现的另一部分功能为平台扩展接口的具体实现。
      平台+插件软件设计步骤包括:
1、 确定平台基本功能和插件要完成系列化功能或扩展功能;
2、 定义平台扩展接口和插件接口;
3、 完成平台设计,主要是平台插件处理功能;
4、 向插件开发者提供主平台程序(执行代码),公布平台扩展接口和插件要实现的接口,可能包括开发用的SDK;
5、 插件开发者按要求开发插件,实现插件接口,开发者可使用提供的主平台程序测试插件;
6、 主平台设计者继续完成主平台的内核功能,并可随时公布新增加主平台扩展接口和插件接口;
7、 实现4-6步骤的良性循环,整个软件系统不断向前进化。
  平台+插件软件设计的优点:
1、 实现真正意义上的软件组件的“即插即用”;
2、 在二进制级上集成软件,减少大量的软件重新编译与发布麻烦与时间;
3、 能够很好实现软件模块的分工开发,能够大量吸取他人的优长;
4、 可较好实现代码隐藏,保护知识产权。

本文出处:http://kankan.blog.51cto.com/372369/97341

分享到:
评论

相关推荐

    基于插件思想的可重用软件设计与实现

    《基于插件思想的可重用软件设计与实现》这篇论文深入探讨了如何利用插件化设计理念来构建可复用的软件系统。插件思想在软件工程领域中扮演着重要的角色,它允许软件具备高度的模块化和扩展性,使得不同功能可以通过...

    AE+C#课程设计 完整基础gis系统

    Adobe Extension Manager是Adobe公司提供的一款用于扩展其Creative Suite系列软件功能的工具,尽管它主要用于多媒体和设计领域,但在这里,我们将其应用于GIS系统的开发,利用其丰富的插件和定制能力,为GIS系统提供...

    面向对象的PLC上位机软件平台设计

    ### 面向对象的PLC上位机软件平台设计 #### 摘要与背景 随着自动化领域的不断发展,PLC(可编程逻辑控制器)在工业控制中的应用越来越广泛。然而,不同制造商提供的PLC产品及其配套软件通常采用不同的通信协议和...

    基于插件的软件架构原理分析.pdf

    面向结构思想的DLL插件是一种较早的实现方式,主要通过导出函数作为平台与插件之间的通讯接口。这种方式的优点在于简单易行,但同时也存在明显的缺点: - **局限性**:软件的可复用性和可扩展性较差。 - **升级难度...

    2023下半年软考中级软件设计师试题及答案解析.zip

    《2023下半年软考中级软件设计师试题及答案解析》是针对全国计算机技术与软件专业技术资格(水平)考试(简称“软考”)中级软件设计师科目的重要参考资料。软考是中国信息技术领域的一项权威认证,旨在考核应试者在...

    基于JSP企业车辆管理系统设计软件程序源码+数据库+WORD毕业设计论文文档.zip

    2.5设计的基本思想 8 2.6性能需求 9 2.6.1系统的安全性 9 2.6.2数据的完整性 9 2.7界面需求 9 第三章 系统分析与设计 11 3.1数据库的分析与设计 11 3.1.1数据库的概念结构设计 11 3.1.2数据库的逻辑结构设计 13 ...

    设计模式插件

    设计模式是软件工程中的一种重要思想,它是在特定上下文中为解决常见问题而形成的一套最佳实践。在Java编程中,设计模式被视为提高代码可读性、可维护性和复用性的关键工具。"设计模式插件"可能是一个专门用于帮助...

    计算机毕业设计 10个数据结构课程设计实例二叉树建立遍历冒泡排序 C&C++源代码+开发文档说明 软件/插件 范文 模板

    其基本思想是采用分治策略,选择一个基准值,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以...

    毕业设计基于asp.net实现的自行车在线租赁系统源码+数据库,基于MVC思想和三层模式开发

    程序开发软件: Visual Studio 2010以上 数据库:sqlserver2005以上,8个表 基于MVC思想和三层模式开发!根据自行车在线租赁管理系统的任务要求主要实现的模块有:自行车管理模块,客户管理模块,租车管理模块和权限...

    插件体系结构软件开发方法研究.docx

    在 SOA 体系结构下,软件开发方法主要包括面向对象编程思想、流程控制技术和数据库设计等。这些方法可以提高软件系统的可维护性和可重用性,提高软件开发的效率和质量。 插件体系结构和面向服务架构(SOA)体系结构...

    [热拔插] 轻量级Winform插件式框架

    这种框架的设计思想源自于对软件可扩展性和灵活性的需求,使得开发者能够在不重启程序的情况下,对功能进行增删改,提高了用户体验。 在Winform应用程序中实现插件框架,首先需要理解的核心概念是“接口”。接口...

    机械毕业设计——插件式液压实验装置的设计(论文+DWG图纸).zip

    3. **插件式设计**:模块化设计思想,便于实验装置的组装、拆卸和维护,可能涉及标准化接口和快速连接技术。 4. **实验装置安全**:在设计过程中要考虑设备的安全性,避免液压系统的泄露、过压等风险。 5. **计算与...

    音频播放器软件的设计与实现-毕业论文.doc

    MVC是Model-View-Control的缩写,是一种软件设计模式,主要应用于用户界面设计。JMF是Java Media Framework的缩写,是一个用于处理多媒体数据的java API。 在设计音频播放器软件时,需要划分并设计系统功能模块,...

    软件设计模式复习题.docx

    软件设计模式的基本思想是:软件实体应当对扩展开放,而对修改关闭,抽象不应该依赖于细节,细节应该依赖于抽象,一个类或模块承担的责任尽可能的少,使尽可能少的因素或动机影响该类或该模块。 1. 开-闭原则(OCP...

    VC插件模式框架Demo

    在软件开发中,插件模式是一种常见的设计模式,它允许用户通过添加或移除插件来扩展程序的功能,而无需修改程序的源代码。这种模式在VC(Visual C++)环境中尤其常见,因为VC支持MFC(Microsoft Foundation Classes...

Global site tag (gtag.js) - Google Analytics