《雅码轩: Java哲思》002 区分Client与Core

雅码轩专栏, 干货, 无废话!

1. 区分Client模块与Core模块

  • Client: 表示对某个资源, 某个Api, 某个算法, 某个函数, 某个网络接口的调用方

  • Core: 表示某个通用逻辑, 通用资源, 通用接口的提供方

  • Client型代码可copy复制, Core/Server型代码应封装进maven, 防止冗余, 供其他部门同事引入<dependency/>

  • 调用不一定是Http调用, 一个模块的java代码调用另一个模块java代码也是Client -> Core的关系.

例如: 我要编写一个功能, 不断从MQTT接收IOT信号, 存入数据库某张表中, 然后再大屏模块中, 查询此表信息.
此时 项目1 用到了这个功能, 项目2也用到了这个功能.

× 错误的做法: 项目1开发人员找项目2 开发人员把代码copy过来
√ 正确的做法: 将这个接收mqtt信号并入库表的功能封装为一个名为mqtt-iot-core的模块, 然后项目1和项目2都引入dependency:mqtt-iot-core模块, 就像搭积木一样, 直接拼过来就能用.

注意:
前提是这个mqtt-iot-core的场景不会有需求变更, 否则他就不是Core型模块, 就不能封装)
各个业务模块查询iot数据的代码, 称为Client型模块, 不建议被其他模块引用.

此篇文章略有难度, 以实际业务场景为准…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值