以下是我要解决的问题:
我需要通过许多其他位置B,C ... Y从Route
A到Z建模Location
。一个位置只通过一个Road
连接到下一个位置。
所以我有两个实体:Location
和Road
Location implements RouteElement{
String name;
BigDecimal lat;
BigDecimal long;
RouteElement nextElement; // optional
}
Road implements RoutElement{
Length howLong;
Boolean hasTolls;
RouteElement nextElement; // mandatory
}
最后,
Route {
// some properties
RouteElement startingElement;
}
现在,所有这些实体都是immutable
,所以一旦在Location中将nextElement设置为null,除非我在第一个对象上创建一个副本,否则它不能被“设置”。
所以,我在想是否可以提出一个RouteBuilder
来优雅地建立一条路线!
有人可以建议如何为此编写构建器吗?
谢谢!