一、职责分离原则
职责分离原则是一种开发思想,是为了实现”高内聚“的一种手段。
具体可参考如下文章:
11. 设计模式之职责原则:如何在代码设计中实现职责分离?_卜卦丶cc的博客-CSDN博客
二、实战 | 复盘
大背景: 由于是数据可视化平台,每个表格中可能包括不同的指标、维度、筛选条件、排序条件, 因此,请求体中,拆分为,指标、筛选条件、排序条件。
需求背景: 近期在指标、维度维护过程中,发现需要开发一个数据可见功能,来保证对外展示的都是有效数据。
明确需求: 每个数据的可见性是在数据库中存储的,前端需要提供管理入口,并根据可见性对数据进行相应隐藏。
问题1: 这个不可见,是否能在请求的时候,由后端过滤完成?
答案: 不行,这样虽然保证返回的是过滤数据,但前端仍有此维度。 如果在前后端同时添加过滤,容易造成职责不明确,增加后续维护难度。
问题2: 这个不可见在前端能够统一处理吗?
答案: 不能, 维度、指标的不可见涉及到很多业务展示。 无法进行全局把控。这种情况下,明确的职责分离就开始显示她的作用了。
结合大背景描述,
整体结构如下:
分别过滤的好处是:
1、做到了职责分离,如果出现问题,可以进行单一排查。
2、每个模块内部的功能聚合,外部松散。