20190310の新人プログラマ応援に関する記事は1件です。

そのカタカナ語、なんて意味?

はじめに

書:実践ドメイン駆動設計 を手に入れたが、読んでみてもカタカナ語が多くて全然内容が理解できない。DDDを理解する以前に曖昧になっている概念たち(ここで言うカタカナ語)をちゃんと理解しておかないといけない。と思ったのでまとめました。

マサカリじゃんじゃんください。

簡単なもの

イベント

ある処理があったとして、その処理を発火する(呼びだす)もの。関数呼び出しであったりコマンドだったり。例外もそれに当てはまる。

イベントドブリン(EDA)

外部(一般的にユーザー)からのイベントを受け取り、
それに対応する形で処理を記述する設計方法。

コンテキスト

ユーザーの意図や状況、環境などの外部条件を意味する。同じ処理や記述でも状況に応じて動作などが異なる場合に、その選択基準となる判断材料や条件などを指す場合が多い。

パブリッシャー/サブスクライバ

とてもわかりやすいので引用:https://www.ibm.com/support/knowledgecenter/ja/SSFKSJ_7.5.0/com.ibm.mq.explorer.doc/p_pubsubers.htm

情報の提供者をパブリッシャーといいます。 パブリッシャーはある件名についての情報を提供しますが、情報を求めるアプリケーションについては何も認識する必要がありません。
情報の利用者をサブスクライバーといいます。 サブスクライバーはどんな情報が必要かを決定し、その情報が受信されるのを待ちます。 サブスクライバーは、多種多様なパブリッシャーから情報を受信し、その情報を他のサブスクライバーに送信できます。

エンティティ

実体のあるもの(情報)。またそれを表現するもの
オブジェクトとかクラスとか、DBのテーブルとか。

ドメイン

ドメインとはプロジェクト、プロダクトがやるべきこと。解決する問題のこと。人間にとってのドメインは仕事、恋愛、趣味娯楽。

ドメインエキスパート

チームのメンバーをシステム側と、上に述べているドメイン側で分けた時、ドメイン側となるメンバーのこと。企画と言っていい気がする。

ユビキタス言語

プロダクトに関わる構成員(チーム)には、ドメインエキスパート、開発者、ビジネスアナリストといった専門とする領域の異なるメンバーがいる。その領域が異なるメンバー間では業務で使う用語やフレーズ(このページのカタカナ語がまさにそれ)が異なってくる。でもそれだとチームでのコミュニケーションが円滑に取れない。そこで、チームで決めたビジネス側もエンジニア側も理解できるチームの固有言語のこと。

チームの、チームによる、チームのための言語

である。(どうしてもいいたかったんですすいません)

インスタンス

Userというエンティティを例にする。
Userエンティティを抽象的に表現したものがUserクラスなのに対して、1つの特定
のユーザーを表すオブジェクトをインスタンスという。そしてUserのインスタンス
は一般的にUserクラスによって初期化(宣言)される。

リポジトリ

データを保管する場所。から転じてデータの要求先。データへのアクセスをカプセル化し、データアクセスに意味を持たせる役割がある。

ストア

そのまんまの意味で、データを蓄積する場所。だいたいDBの抽象的な言い回しだと捉えてる。

難しいのでこちらを参照

スクラム

https://qiita.com/gold-kou/items/90ba982a14ca79d843c9#スクラム

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む