软件插件技术原理与实现

插件的基本原理:
插件的本质是在不修改程序主体的情况下对软件功能进行加强。当插件的接口被公开时任何人都可以自己制作插件来解决一些操作上的不便或增加一些功能。一个插件框架包括两个部分:主程序(host)和插件((plug-in)。主程序即是“包含”插件的程序。插件必须实现若干标准接口,由主程序在与插件通信时调用。

编程实现方面包括两个部分:一部分是主体程序的插件处理机制,用来进行初始化每个插件的过程,并且管理好每个插件接口。另一部分是插件的接口函数定义,将所有的插件接口函数进行封装。以便开发者自由调用。

插件化开发方式的组织方式:
软件插件技术原理与实现_第1张图片
在这种模式下,功能被封装到插件中,一个程序员负责若干个插件,每一个插件由其相应功能涉及的界面、业务逻辑和数据访问等代码组成。每一个插件可以独立开发、测试和部署,开发者间不再需要对代码进行合并。
webService的常用的方法有:
RPC(远程过程调用协议)所谓的远程过程调用 (面向方法)
SOAP(简单对象访问协议) 所谓的面向服务的架构(面向消息)
REST(表象化状态转变) 所谓的Representational state transfer(面向资源)
SOA的好处

  1. 松耦合:由于服务自治,有一定封装边界,服务调用交互是通过发布接口。这意味着应用程序不感兴趣的服务如何被实现。
    2.位置透明:服务的消费者不必关系服务位于什么地方。
    3.可在异构平台间复用。可以将遗留系统包装成服务。
    4.便于测试,能并行开发,较高可靠性和良好可伸缩性。

下图是苏宁易购为例子:
软件插件技术原理与实现_第2张图片
服务是最核心的抽象手段,业务被划分(组件化)为一系列粗粒度的业务服务和业务流程。业务服务相对独立、自包含、可重用,由一个或者多个分布的系统所实现,而业务流程由服务组装而来。

你可能感兴趣的:(软件工程,架构)