目前,我们有一个业务实体可以表示为枚举或类。
类实现更简单,业务逻辑更清晰。但需求有 50% 的可能性会发生变化,而枚举表示将使我们的生活变得更轻松。
具体例子
实体有标题和颜色。颜色是可编辑的,所以有两种方法
未来的变更要求 - 应该有与每个实体相关的规则
如果规则集是静态的,那么第二个选项就太过分了。
那么,如果我们需要将类转换为枚举,对于这个过程有什么建议吗?
编辑
实体集是有限的并且不太可能被用户改变。
先感谢您。
如果您想要枚举中的一些功能和类中的一些功能,那么您可以混合使用这些功能:
public class ColoredTitle
{
private String color;
private Title title;
public ColoredTitle(String color, Title title)
{
this.color = color;
this.title = title;
}
public String getColor()
{
return color;
}
public void setColor(String color)
{
this.color = color;
}
public String getHeading()
{
return title.heading;
}
enum Title
{
FRONT_PAGE("Front Page"),
FOOTER_TITLE("Footer Title");
private String heading;
Title(String title)
{
this.heading = title;
}
}
}
Run Code Online (Sandbox Code Playgroud)