我面临以下情况:
数据库条目将转换为枚举
这些条目与枚举常量不同
例如,我有一个条目:
应该Map到枚举的苹果蛋糕 APPLE_CAKE
因此,在调用之前,这涉及到字符替换等 valueOf
. 因为我将数据库实体Map到java对象,所以我是通过反射来实现的。
如果找到枚举字段并读取数据库值,我需要调用相应的构造函数。我目前的解决方案是使用标记接口 Entity
在这里我记录了如何实现一个定制的静态方法 fromString(String)
.
我不喜欢这个想法的地方是实现者没有被迫实现静态方法。所以我在想,难道没有一个合适的创作模式可以应用于这种情况吗?
1条答案
按热度按时间tjrkku2a1#
为示例创建指定接口的最佳模式是抽象工厂模式
创建一个名为
EntityFactory
或者类似的。为每个人建立一个混凝土工厂Entity
类型。使用这些工厂示例创建Entity
示例。