节点本身的信息.
节点关联信息.
这两个信息最好分开. 这样可以更好的面对业务扩展和组合.
具体描述如下:
public class RoomGroupVO { public Long id; /** * 分组名称 */ public String name; /** * 父分组id,空则填0 */ public Long parentId; public Boolean hasChildren; List<RoomGroupVO> chidren; }
现在有个需求,需要返回分组下面的会议室数量.
最简单直接的就是再原来的RoomGroupVO上新增一个 roomCount.
但是这样打破了"对修改封闭,对扩展开放的原则."
----如何解--
增加一个wrapper ,如何wrapper ?
RoomGroupWithRoomCountVO{
RoomGroupVO roomVO;
Integer roomCount;
}
这个问题来了, RoomGroupVO有 children信息. children里没有相关属性了.
----解法---
wrapper 不能wrapper关系.
public class RoomGroupVO { public Long id; /** * 分组名称 */ public String name; /** * 父分组id,空则填0 */ public Long parentId; }
public class RoomGroupDepthVO { RoomGroupVO roomGroupVO; public Boolean hasChildren; List<RoomGroupDepthVO> chidren; }