1

私の Robotlegs アプリ サービスでは、多くの場合、結果をモデルに保持する必要があります。これにより、同一のペイロード タイプを持つイベント ペアが作成されます。

  1. サービスからコマンドへデータを運ぶために、
  2. モデルからメディエーターにデータを運ぶ

これらのイベントに名前を付ける方法を考えています。私がサービスを持っていると想像してください:

FooService.getProducts()

それから私はモデルを持っています:

BarModel.setProducts()
BarModel.getProducts()

製品コレクションを取得した後にサービスによってディスパッチされるイベントに名前を付ける最良の方法は何ですか?

呼び出された後にモデルによってディスパッチされるイベントに名前を付ける最良の方法は何ですか?BarModel.setProducts()

または、2 つの異なるタイプで 1 つのイベントを使用する必要があるかもしれません。

public class ProductEvent extends Event
{
    public const SERVICE_PRODUCT_CHANGE:String = 'serviceProductChange';
    public const MODEL_PRODUCT_CHANGE:String = 'modelProductChange';
    ...
4

2 に答える 2

0

サービスでは、成功または失敗を示すイベント/シグナルが好きです。サービスは、さまざまな理由で失敗する傾向がある外部リソースと頻繁に接触するためです。

MyServiceLoadSuccessMyServiceLoadFailure

あなたのサービスが静かに失敗したとしても、成功という考えはサービスにとって理にかなっていると思います。

モデルを使用すると、データを変換する方法を知る必要がある傾向があり、失敗する可能性もありますが、実際には意思決定を行い、ビューまたは他のモデル用にデータを準備しており、更新を送信しているだけです。

MyModelUpdate

明らかに、特定の状況は、選択するセマンティクスにとって重要ですが、これは、あらゆる種類の状況に役立ち、一般的に適用できるパターンです。

于 2013-02-23T23:03:36.447 に答える
0

私は自分の質問に答える独自の命名スキームを作成しました。

まず第一に、ほとんどの場合、イベントはアクター間でデータを伝達するために使用されます。

  • サービス > モデル
  • モデル > メディエーター
  • メディエータ > モデル

第 2 に、異なるイベントは異なるデータ型を持ちます。第 3 に、同じデータをサービス > モデル > メディエーターの 2 回渡す必要があることがよくあります。

これに基づいて、次のようにイベントに名前を付けることにしました。

<class>Event_<payload>

はイベントをディスパッチclassするクラスのpayload名前であり、変更されたパブリック プロパティの名前です。例えば:

  • ProductServiceEvent_products
  • ProductModelEvent_products
  • ProductViewEvent_products

各イベントには、 と呼ばれるタイプが 1 つだけありCHANGEます。

于 2013-03-05T16:07:21.847 に答える