设计模式

项目中用的设计模式

Posted by Sun Jianjiao on January 22, 2016

1 单例模式

对于设备服务建立连接,没有下发配置的时候,不创建线程和连接。所以采用单例模式,第一获取连接的时候,创建线程和连接。后续获取都不创建了。

2 工厂模式

数据汇聚层支持influxdb和另一个商业的时序数据库,读写接口不一样,通过工厂模式实现公共接口初始化为对应的操作时序数据库的实力,赋值给抽象的接口。保证业务层不受时序数据库的影响。

3 适配器模式

为了让edgex不需要修改就可以无缝对接云平台,设计gateway-adapter, 将云平台的mqtt消息转换为rest调用edgex服务,将edgex rest接口返回的数据转换为mqtt消息进行返回。

4 外观模式

提供子系统简化的接口,很多对外面的api都是屏蔽了内部的实现细节,让接口更好用,这就是外观模式。

5 模板方法

一些算法里面用的比较多,如设计的包装是分为不同的道口和工位,设计模板方法分别为道口的分配算法和分配工位的算法。

6 迭代器模式

对链表进行遍历

7 观察者模式/订阅发布模式

消息队列/java与支持订阅发布模式。

8 代理模式

数据修改和创建的时间/人员,都是通过代理模式写入的。