已经在部门经理的插件架构下工作1年了 |
|
有一些体会和心得 |
|
|
|
插件化是取代设计模式的一个利器 |
|
SOA 容器化时代的设计模式只适用于中间件 底层基础库这些核心库 其实大部分开发人员都用不上设计模式了 |
|
基础业务代码被插件化 rpc这些技术逐渐弱化 但是并非完全无用 |
|
我们要做的存储缓存的经典的生产者消费者模型 |
|
单生产-单消费 |
|
单生产-多消费 |
|
多生产-单消费 |
|
多生产-多消费 |
|
|
|
消息中间件的消息缓存队列设计 |
|
观察者模式 |
|
订阅者就是观察者 |
|
订阅中心就是发布者 |
|
多-多的模式 |
|
|
|
|
|
插件分类: |
|
插件管理 |
|
插件通信 |
|
业务插件-静态插件 |
|
业务插件-动态插件 |
|
|
|
插件通信: |
|
消息队列 |
|
导出接口调用 |
|
|
|
插件通信类型: |
|
广播 |
|
单播 |
|
多播 |
|
|
|
插件通信方式: |
|
同步send |
|
异步post |
|
|
|
插件开发优点: |
|
积木化 |
|
模块化 |
|
静态化 |
|
动态化 |
|
易于切容器化 |
|
|
|
插件化缺点: |
|
新人如果没有插件架构文档有1-3个月融入器 |
|
如有较好文档1个月可直接维护、开发 |
|
|
|
用在何处: |
|
单体界面开发:mvc分层 模型插件 控制层插件 主程序view |
|
ide类软件开发:图素模板插件化 插件热加载 |
|
后台服务:基础库插件 后台服务模型插件 存储插件 查询插件 sql逻辑插件 dbdao插件 |
|
可以说可以再任何系统任何业务上使用 |
|
|
|
插件设计: |
|
纵向: |
|
基础设施 业务抽象 业务模块 |
|
|
|
横向设计: |
|
消息中间件/订阅发布 业务模块 |
|
|
|
|
|
|
|
如果让你重构你2017年独立负责的项目你会怎么做 |
|
软件管家: |
|
ui主界面插件 |
|
|
|
工具市场: |
|
ui主界面插件 |
|
|
|
共享插件: |
|
模型插件 下载插件 公共库插件 控制层插件 |
|
|
|
|
|
|