我正在开发一个包含很多字段的域对象的项目。这些字段仅将数字存储为代码或ID。
要显示这些域对象,我必须编写一些逻辑来将代码转换为显示标签。
现在,凭借我最直截了当的想法,我只是编写了一个实用工具类来进行转换。
然而,由于这应该是一个非常常见的情况,我只是想知道有没有更好的做法来做这种工作? (以更加面向对象的方式)
这种背景是否有任何设计模式?
非常感谢你!
答案 0 :(得分:0)
我不喜欢实用类的概念。实用工具柜是您转储任何没有标签的地方。你有这个动作的标签。 Serializer
或Labeler
。
创建一个接口Serializer
或Labeler
或其他任何东西,并根据需要多次实现它(如果有域对象没有序列化相同的,或者如果你需要额外的功能)。
另一种方法是让你的域对象自己序列化,在这种情况下,任何可序列化的对象都可以实现Serializable
接口,你的渲染函数只能接受Serializable
个对象。
类似于 comparable vs comparator 辩论。
答案 1 :(得分:0)
几乎听起来像“外键”或“字典”或“地图” 将“职业”“0”映射到“教师” 将“0”的“性别”映射到“女性”。
如果您有足够的数据,您可以将其转储到数据库中......执行查找并转储结果:
field-name, value, text
"occupation", 0, "Teacher"
"occupation", 1,"Engineer"
"sex", 0, "Female"
然后,您可以“轻松”(哈哈)根据需要向数据库表添加越来越多的内容。
当然有“很多方法可以给猫皮肤”......你可能只有一个代码文件,里面有一个字典/地图来完成相同的查找。您可以“轻松”(哈哈)在代码文件中添加更多内容。