Java 枚举类型字段过多的解决方案?[改善]
随着项目逐渐扩展,现有的枚举类型需要扩展字段。例如,有一个名为ECityArea的枚举类,用于存储与城市相关的通知,开始时只需要城市名称,然后需要状态通知、别名、图像位置和数据库别名等。因此枚举字段有点大,如以下代码:Java 枚举类型字段过多的解决方案?[改善],java,enums,Java,Enums,随着项目逐渐扩展,现有的枚举类型需要扩展字段。例如,有一个名为ECityArea的枚举类,用于存储与城市相关的通知,开始时只需要城市名称,然后需要状态通知、别名、图像位置和数据库别名等。因此枚举字段有点大,如以下代码: ECityArea(String name, String state, String alias, String imageLocation, String imageFolder,
ECityArea(String name,
String state,
String alias,
String imageLocation,
String imageFolder,
String imageAlias,
String dbAlias)
所有开发人员都会发现字段太多,以后可能会有更多的字段。可以预见,ECityArea本身将太大,难以阅读,那么应该有一些解决方案来解决这个难题
刚才,我有一个想法和大家分享
它将一些字段合并为另一个枚举类。例如:
ECityAreaImageRelated(String imageLocation, String imageFolder, String imageAlias)
ECityArea(String name, String state, ECityAreaImageRelated imageRelated, String dbAlias)
是否提供了其他解决方案?谢谢。这不仅仅是针对枚举的,一般来说也适用于任何类。例如,如果您有一个名为Person的类,那么在这个类中可以有诸如他的姓名、年龄、性别等字段。但是像地址行1、地址行2、城市、国家等字段是不合适的。最好将字段分组到另一个名为Address的类中……这里的想法与well@user3493289我同意你的一部分观点,对于一般类,我们总是将一些相关字段分组到另一个名为helper的字段中,或者有时我们使用builder模式来解决这种情况。但对于枚举类型,我想我们可以更深入地思考枚举结构本身,并进行一些研究,使其与传统解决方案有所不同。这是问题的初衷。谢谢您的意见。@Ivan,您不想将数据库相关信息拆分为另一个枚举吗?它似乎不符合城市的领域模型。否则,是的,根据“单一责任原则”,这就是您想要的。@ChrisWohlert是的,拆分db相关通知也被添加到todo列表中,到目前为止,帮助类是使代码更好的唯一选择。