gpt4 book ai didi

java - 为 "weird"硬编码值抽象条件逻辑的好方法是什么?

转载 作者:行者123 更新时间:2023-12-04 06:00:18 28 4
gpt4 key购买 nike

我正在处理一个非常简单的问题,涉及设计分支。

请容忍我,而我用模糊的术语描述情况。
我有一个实体,称为 EntityA:

EntityA{
attr1 : type1;
attr2 : type2;
. . .
}

该实体存储在数据库中,一切正常。

作为一个新的需求,我需要给EntityA添加审计属性。我现在有:
EntityA{
. . .
whenCreated : Date (not null);
whoCreated : User (not null);
whenLastUpdated : Date;
whoLastUpdated : User;
}

将新列添加到数据库时,我会分配默认值:
whoCreated = 系统
whenCreated = 2012 年 1 月 24 日。

要求的另一部分是我不在屏幕上显示“创建”属性,如果它们具有转换/默认值。

我知道我需要在显示层放置逻辑来测试这个。然而,这就是说,明确地将条件逻辑放在那里似乎很有趣。

例如,而不是这样:
if((entA.whenCreated != '24-Jan-2012') 
&& (entA.whoCreated != 'System')){
showCreationAudit();
}

我想我应该做这样的事情:
if( shouldDisplayCreationAudit(entA) ){
showCreationAudit();
}

因此,请记住,我可能会遇到类似的情况,抽象“奇怪”硬编码值的条件逻辑的好方法是什么?

最佳答案

我将您的问题解释为:“我有一个模型对象列表,有些有默认值,有些没有……我在哪里决定要显示什么?”

我认为 View 层是 正好你不想处理这个的地方。

模型对象只是保存数据,并有一些方法来操作数据。 View 的工作是确定如何显示数据。

关于java - 为 "weird"硬编码值抽象条件逻辑的好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994265/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com