雅码轩专栏, 干货, 无废话!
对齐颗粒度
名字解释:
OOP(Object Oriented Programming): 面向对象程序设计
越庞大的业务, 所涉及的概念, 实体也就越多, 概念一多就容易产生混淆, 为了优雅的梳理概念降低理解成本, 故建议对齐颗粒度,
世界上任何一个系统其实可以被简单的拆为2种概念: 实体
和关系
, 在OOP中, 一切皆实体, 实体与实体产生的关联叫关系
.
只要你能熟练将客户的需求, 拆解成实体
和关系
, 那么世界上将没有难做的需求.
对于实体和关系的拆解, 不仅仅只是服务端的工作, 数据库, 中间件, 前端, Rest接口, 都应该采用这种思维.
1. 数据库颗粒度对齐
数据表与字段应遵循面向对象原则, 表就是Class, 数据就是Instance, 实体概念需要于Java实体对齐.
不要建无意义的表, 含义模糊的表, 不符合范式的表
× 糟糕的表
-- 公共服务器资源表
create table `t_server_device`(
`id` varchar(256) comment '服务器id (id重复存)',
`user_id` varchar(256