チームには、JSON データ内で次のことを行いたいエンジニアがいます。
"visible": "$(= state '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) ここで、開発者は、タスクを完了するために 3 つの別々のことを行う方法を知っている必要があります (JSON データのプログラマ部分を記述し、正しいプレフィックス表記を記述し、コードに正しいロジックを配置します)。
3) この動作を単体テストする良い方法がわかりません
4) ロジックがコードの複数の領域に分散されるため、エラーの発見がより困難になります。
この件について意見を求めています。なぜこれが良いアイデアなのですか?嫌いな理由は有効ですか?私が見逃している値はありますか?