我们的团队中有一位工程师希望在JSON数据中执行以下操作:
"可见":" $(=州' state_c')"
现在在模型中他有以下方法来确定状态:
protected function getCurrentState():String
{
var state:String = "defaultState";
if (xxxx)
state = "state_A";
else if (xxxx)
state = "state_B";
else if (xxxx)
state = "state_C";
else
state = "state_D";
return state;
}
现在,无论何时我需要更新状态,我都会调用以下内容:
data.state = getCurrentState();
JSON数据中使用的符号是前缀表示法(LISP),以防您好奇。模型所在的代码用AS3编写,对象名为' data'以上是Object的类型。
我反对这个想法,我不理解将逻辑放入数据的价值。我从未见过以这种方式使用的范例。我认为这打破了MVC架构设计并引入了许多不同的问题。以下是此设计的最大问题:
1)所有逻辑都是类型不安全的(数据类型不安全)
2)现在,开发人员必须知道如何完成三个单独的事情来完成任务(编写JSON数据的程序员部分,编写正确的前缀表示法,并在代码中放入正确的逻辑)
3)我没有看到对这种行为进行单元测试的好方法
4)将逻辑分散到多个代码区域,从而使查找错误变得更加困难。
我正在寻找有关此事的任何意见。为什么这是个好主意?我不喜欢它的原因有效吗?我缺少一些价值吗?