实现隐藏要求我们向用户隐藏类的内部结构。为了简单起见,让我们声明一下:将 getter/setter 的数量减少到最少。
关注点的分离要求一个类的改变应该只有一个原因。因此,不能让服务层的一个类做服务层的事情,例如将数据保存到数据存储中。
数据传输对象 (DTO) 用于将数据从服务层传输到数据访问层。
为了构建 DTO,在最坏的情况下,我需要读取服务层类的所有成员。这将需要最大数量的 getter,这违反了实现隐藏。
Storable
使用虚拟方法从公共抽象基类派生应该转换为 DTO 的类Dto buildDto()
将违反关注点分离。
你能推荐一些应对这种情况的策略吗?或者在这方面实际上有一个普遍的做法?