分离
这里的分离是指关注点分离,也就是我们常说的单一职责.
也就是一个类,只有一个引起它变化的原因....这一原则即可以应用到代码解耦上,也可以应用于业务拆分
以下面告警系统中节选代码为例
反例:
整个类中既要处理既要处理告警的类型逻辑,又有告警的发送逻辑
public class AlertSystem...抽象
抽象是指关心的是能做什么,而不关心怎么做.
常用的抽象方式就是接口....例如,现在业务上需要使用异步消息中间件,那我们就可以抽象出来一个接口,调用方只需关心这个接口就行了,而不用关心具体是用kafka或者RocketMq实现的....~~
其实这三种非常实用的原则,在spring也是有体现的
分离: controller, service, dao
抽象: service接口, mapper
注入: @Autowire, @Resource