今日のつぶやき
[Twitter]今日のつぶやき ff.im/lRNuO #
#appengine 触ってて感じたこと。概念レベルで別エンティティになっているのを同じEGにするのはなし、と考えるといいね。EGはunique制約を実現するためのエンティティとか、実装レベルでエンティティを分けざるを得ない時に使うものと決めておくのが良さそう。 #
#appengine はKeyの使い方が鍵。データストアはKeyのみのアクセスだと高速なのと、txの対象になるので排他制御にも使える。EGはこの用途で論理エンティティを複数に物理エンティティに分割するときに使うと決めておく。 #
逆に複数の論理エンティティを1つの物理エンティティにまとめて格納するというアプローチはあり。ユースケースに必要なコンテキストを一括ローディング。 #appengine #
意味上のまとまりのある論理エンティティはEGを使ってまとめるのではなく、物理エンティティに集約。EGはKeyの機能を使うために実装レベルでエンティティを分ける場合に使う。「意味上のまとまり」はユースケースでモデリング。 #appengine #
Actor-Event-Resourceの組の場合、AERをまとめて1つ物理エンティティというのはない。AERそれぞれの中で集約。AER間の整合性はEventに情報を集約して担保。 #
実行時のタスクのコンテキストに、必要なエンティティがグラフ構造を展開した状態で設定されていればよい。DCIもこのレイヤでハンドリングする。エンティティの基本構造にコンテキストごとの特質を編み込む。 #
Automatically shipped by LoudTwitter