半路突然看到了OSGI,又学习了一下,大概了解了架构的一些基础知识。

像MVC,MVP等其实就是分层架构,这类是最容易想到的。

然后其实我就没有接触,如微服务架构,微内核架构。

是什么?

Celix就是属于微内核架构,然后我们使用过程中实际就是在这个已经开发好的核心上开发自己的插件,核心已经做好了各个插件之间的通信,另外核心还负责插件的加载、删除

官网介绍:

简介 / Apache Celixhttps://celix.apache.org/docs/2.3.0/celix/documents/README.html

能做什么?

Celix是面向linux的,不能在window使用,作为linux的一个大型项目的框架相当合适。

而它适合什么项目呢?

项目有很多个组件,功能可以相对独立的区分开来,然后项目要大。

它开发的是系统级别的东西!

小项目使用它就杀鸡用牛刀了。

举个例子来说明它可以做到什么场景:

物流管理系统:

  1. 1.每一类的物品都可以封装出一个插件(模块),然后提供出他处理某一类物品的服务(在Celix就是提供给你C语言的函数指针,在C++就是抽象类);
  2. 2.Celix提供了Shell脚本式安装和删除模块的方法,也可以直接代码写死,或者使用配置文件来按照顺序启动不同的模块。
  3. 3.可以设置一些基础的通用的包装工序,订单粘贴工序作为基础插件!然后其他插件可以设置依赖,来使用其中提供的服务。
  4. 4.它还提供了webserver的官方基础模块,可以便捷地开发一个web订单流程插件,该插件可提供Web服务,然后可以调用该Celix框架下的其他插件提供的服务。

使用体验:

上手难度并不高,缺点是没有很多人使用,网上的资料比较少,只能看官方文档。

推荐使用C++进行开发,使用起来更加专业清晰!