- 学習内容
- 強い依存関係:密結合(頻出)
- 弱い依存関係:疎結合(頻出)
- まとめと次回予告
- おまけ
- Q1. 次のうち、強い依存関係に該当するのはどれですか?
- Q2. 次のうち、弱い依存関係に該当するのはどれですか?
- Q3. 次のうち、密結合に分類されるのはどれですか?
- Q4. 次のうち、疎結合として扱われるものはどれですか?
- Q5. 次のうち、強い依存関係の要素はどれですか?
- Q6. 次のうち、変更時にコンシューマモジュールが古くなりにくいのはどれですか?
- Q7. 次のうち、パブリッシュ時にバージョン管理の影響を受けやすいのはどれですか?
- Q8. 次のうち、コンシューマモジュールが再利用する際に同時実行されないのはどれですか?
- Q9. 次のうち、強い依存関係に該当するのはどれですか?
- Q10. 次のうち、弱い依存関係に該当するのはどれですか?
学習内容
前回の内容はこちら
今回はOutsystemsでの依存関係の強弱についてサクッと学習していきます。
Outsystemsではプロデューサー モジュールによって公開される要素のタイプに応じて、プロデューサー モジュールとそのコンシューマーの間に強い依存関係または弱い依存関係を生成しています。
必ずテストに出ると思っていいのでとにかく覚えましょう。覚えるだけで解けます。
強い依存関係:密結合(頻出)
下記の要素を再利用した場合は強い依存関係になります。
強く依存している場合、プロデューサー(親)ロジックはコンシューマー(子)ロジックと同時(同じリクエスト、同じトランザクション、同じセッション変数、サイトプロパティを使用)に実行されます。そのためパブリッシュする際のバージョン管理を丁寧にする必要が生まれます。
- サーバーアクション
- クライアントのアクション
- ブロック
- 画像
- リソース
- スクリプト
- テーマ
- Role
- プロセス
- プロセスアクティビティ
弱い依存関係:疎結合(頻出)
下記の要素の再利用は弱い依存関係になります。
実行時にコンシューマーモジュールは要素のシグネチャだけ知っていれば再利用出来るので親が使用している要素を変更しパブリッシュした際にもコンシューマモジュールが古くなることはなく、すぐ使用できます。
- スクリーン
- サービスアクション
- データベースエンティティ
- ローカルストレージエンティティ
- 静的エンティティ
- ストラクチャー
まとめと次回予告
今回はかなりサクッと終わってしまいましたが覚えてからページを離れるようにしてください!
次回はBase-Style-Guide-Architecture(基本スタイルガイドアーキテクチャ)について学習していきます。
おまけ
Q1. 次のうち、強い依存関係に該当するのはどれですか?
A. サービスアクション
B. サーバーアクション
C. データベースエンティティ
D. 静的エンティティ
解答
正解:B. サーバーアクション
解説: サーバーアクションは実行時に親と子が同時に実行される必要があるため、密結合=強い依存関係です。
Q2. 次のうち、弱い依存関係に該当するのはどれですか?
A. ブロック
B. クライアントのアクション
C. スクリーン
D. テーマ
解答
正解:C. スクリーン
解説: スクリーンは疎結合であり、コンシューマーはそのシグネチャさえ知っていれば再利用可能です。
Q3. 次のうち、密結合に分類されるのはどれですか?
A. サービスアクション
B. ストラクチャー
C. プロセス
D. 静的エンティティ
解答
正解:C. プロセス
解説: プロセスは強い依存関係にあたり、トランザクションや実行タイミングを共有する必要があります。
Q4. 次のうち、疎結合として扱われるものはどれですか?
A. スクリプト
B. 画像
C. ローカルストレージエンティティ
D. クライアントのアクション
解答
正解:C. ローカルストレージエンティティ
解説: ローカルストレージエンティティは弱い依存関係に分類されます。
Q5. 次のうち、強い依存関係の要素はどれですか?
A. データベースエンティティ
B. ブロック
C. 静的エンティティ
D. サービスアクション
解答
正解:B. ブロック
解説: ブロックは親子で同時に使われる可能性が高く、強い依存関係になります。
Q6. 次のうち、変更時にコンシューマモジュールが古くなりにくいのはどれですか?
A. プロセスアクティビティ
B. テーマ
C. ストラクチャー
D. 画像
解答
正解:C. 構造
解説: 構造(Structure)はシグネチャだけで参照できるため、疎結合で安全です。
Q7. 次のうち、パブリッシュ時にバージョン管理の影響を受けやすいのはどれですか?
A. サーバーアクション
B. データベースエンティティ
C. ローカルストレージエンティティ
D. 静的エンティティ
解答
正解:A. サーバーアクション
解説: 強い依存関係であるため、親モジュールの変更が子に直接影響します。
Q8. 次のうち、コンシューマモジュールが再利用する際に同時実行されないのはどれですか?
A. クライアントのアクション
B. スクリプト
C. サービスアクション
D. Role
解答
正解:C. サービスアクション
解説: サービスアクションは疎結合で、非同期で再利用されることができます。
Q9. 次のうち、強い依存関係に該当するのはどれですか?
A. ストラクチャー
B. 役割
C. スクリーン
D. 静的エンティティ
解答
正解:B. 役割
解説: 役割はアクセス制御に直結し、実行時の影響が大きいため強い依存関係です。
Q10. 次のうち、弱い依存関係に該当するのはどれですか?
A. テーマ
B. プロセスアクティビティ
C. サービスアクション
D. クライアントのアクション
解答
正解:C. サービスアクション
解説: サービスアクションはコンシューマ側が非同期に使えるため、疎結合です。


コメント