例如在微服务的设计中,某一个服务公开了一个对象 book,有五个属性( id 、name 、author 、pagecount 、Producer )而某一个应用层仅需要两个属性( id 、name ),也是要获取整个 book 实例的,那获取 author 、pagecount 、producer 这三个属性的花费(数据库、内存、cpu )岂不是白白浪费了?
我可以想到的解决方案是,给 book 增加一个 viewmodel,例如 book_selectoption 仅返回两个属性( id 、name )。但有两个问题,1 、大概率会有很多 viewmodel,一个一个手动处理太麻烦了。2 、在编写服务的时候,不可能事先知道会有哪些 viewmodel,只能在造成了后果之后才亡羊补牢。
ddd 设计中应用层和领域层之间使用 dto 传输数据,也存在一样的问题。
小伙伴们,你们是怎么考虑的?
1
neilq 2021-09-02 10:57:30 +08:00
个人观点,没有必要,1kb 能放 512 个汉字,性能瓶颈一定不是在这里
|