我的同事和我正在对枚举中的逻辑进行讨论.我的个人喜好是在
Java枚举中没有任何逻辑(尽管
Java提供了这样的功能).这个案例中的讨论围绕着返回地图的枚举中的方便方法:
public enum PackageType { Letter("01","Letter"),.. .. Tube("02","Packaging Tube"); private String packageCode; private String packageDescription; .. .. public static Map<String,String> toMap() { Map<String,String> map = new LinkedHashMap<String,String>(); for(PackageType packageType : PackageType.values()) { map.put(packageType.getPackageCode(),packageType.getPackageDescription()); } return map; } }
我个人的喜好是把它拉出来服务.将枚举中的方法集中在方便之上的争论.这个想法是,您不必去获取服务,但可以直接查询枚举.
我的论点集中在关注分离,并将任何类型的逻辑抽象为服务.我没有想到“方便”是将这个方法放在枚举中的强有力的论据.
从最佳实践的角度来说,哪一个更好?还是简单地归结为一个个人偏好和代码风格的问题?