设计决策:将代码转换为显示字符串

时间:2015-11-16 02:51:58

标签: oop design-patterns

我正在开发一个包含很多字段的域对象的项目。这些字段仅将数字存储为代码或ID。

要显示这些域对象,我必须编写一些逻辑来将代码转换为显示标签。

现在,凭借我最直截了当的想法,我只是编写了一个实用工具类来进行转换。

然而,由于这应该是一个非常常见的情况,我只是想知道有没有更好的做法来做这种工作? (以更加面向对象的方式)

这种背景是否有任何设计模式?

非常感谢你!

2 个答案:

答案 0 :(得分:0)

我不喜欢实用类的概念。实用工具柜是您转储任何没有标签的地方。你有这个动作的标签。 SerializerLabeler

创建一个接口SerializerLabeler或其他任何东西,并根据需要多次实现它(如果有域对象没有序列化相同的,或者如果你需要额外的功能)。

另一种方法是让你的域对象自己序列化,在这种情况下,任何可序列化的对象都可以实现Serializable接口,你的渲染函数只能接受Serializable个对象。

类似于 comparable vs comparator 辩论。

答案 1 :(得分:0)

几乎听起来像“外键”或“字典”或“地图” 将“职业”“0”映射到“教师” 将“0”的“性别”映射到“女性”。

如果您有足够的数据,您可以将其转储到数据库中......执行查找并转储结果:

field-name, value, text 
"occupation", 0, "Teacher"
"occupation", 1,"Engineer" 
"sex", 0, "Female"

然后,您可以“轻松”(哈哈)根据需要向数据库表添加越来越多的内容。

当然有“很多方法可以给猫皮肤”......你可能只有一个代码文件,里面有一个字典/地图来完成相同的查找。您可以“轻松”(哈哈)在代码文件中添加更多内容。