2016年5月19日木曜日

GeneXusジュニアアナリスト資格模試「超解説」問題29

問題[29] データセレクターは次の目的のために定義されます。



  • 29.1 定義の再利用。つまり、ある定義を一元化して、複数のクエリーでそれを参照します。こうすることデコードサイズを節約し、 再利用することができます。
  • 29.2 生成されたコードを最適化し、パフォーマンスを改善します。


解答は??


【解答】 29.1 

【解説】データセレクターはクエリー(for eachコマンド/Grid/式など)に対するオプション指定(Order/Where/Defined by)を部品化したオブジェクトです。


アクティブなトレイナーを抽出するための条件をデータセレクター(ActiveTrainer)として登録



1つ目の利用例。WebパネルのLoadイベントにてアクティブなトレイナー一覧を取得するfor eachコマンドにデータセレクターを適用している。



ビルドの結果。ナビゲーションレポートではデータセレクターで登録した抽出条件「TrainerStatus = Status.Active」が Webパネルのfor eachコマンドに展開されている。



2つ目の利用例。今度はデータプロバイダーの抽出条件としてデータセレクターを再利用している。




ビルドの結果。1つ目と同様に抽出条件として「TrainerStatus = Status.Active」が適用されている。

この様にデータセレクターはビルド時にクエリーに組み込まれる再利用を目的としたオブジェクトですが、クエリーの最適化機能はそれとは別にそもそもビルド時の分析機能として備わっているものです。





0 件のコメント:

コメントを投稿