Design=”ドメイン駆動型設計”又の名を”ドメインモデリング”と言うそうです。..ん、全く分かりません。それぞれの単語を簡潔に訳すと、Domain=ドメイン:URLの一部Driven=駆動型:動力を与えて動かす型Design=設計:計画を立てることURLの一部に動力を与えて動かす為に計画を立てる..(現段階では直訳なので語弊があると思いますが)まだ全然想像付かないですね。調べていたら気になる単語が出てきたので調べてみました。ユビキタス言語:より良い・深いモデルを探求するために必要なもの何となくこの”ユビキタス言語”が肝だと感じます。この文ではよく理解できないと思うので、下図に表してみました。共通言語を用いてより良い・深いモデルを探求する、ということでしょうか。明確なメリットがまだ分からない為、漠然としています..。結論はチーム内で共通化された言語をチームが持つことで翻訳コストが減りより良いものが作れるみたいです。ここで一つ疑問が浮かびました。expertsも同様に労力を使うように感じます(互いに理解し合う為)。teamだけの思想ではない事が理解できます。Designの概要に触れたいと思います。Designについてまとめていきます。エリック・エヴァンス氏が書籍にて提唱した手法(2003年)勿論、言語では無いことがわかりますね(また思想か..この界隈が一種の宗教のように感じます)略称として”DDD”と呼ばれているそうです。この思想の内容としては、オブジェクト指向コミュニティの間で長年培われてきたドメインモデリングのノウハウやベストプラクティス↓それらの集大成として完成した、1つの設計思想又は哲学..何となく理解してきました。エクストリームプログラミングの2つのようですね。この二つをソフトウェア開発に取り入れ、エリック・エヴァンスとオブジェクト指向コミュニティの実体験をぶち込んだものがDDDと呼ばれています。上記の2つをまだ意味を理解していないので調べてみます。オブジェクト指向とはオブジェクト=直訳すると”物”..モノ指向。今後は色々と直訳せずに感覚でワードを捉えることにします。調べた結果、このようにまとまりました。detail「何が存在して」「それはどんなことができるのか」といったことや、「それぞれの”物”の関係性」を表すおそらく言葉より図の方が理解しやすいので、図を作成してみました。例としてEmojiというものが存在し、それはどんな状態なのか、それらの関係性を上図で示しました。”笑う、歩ける、話せる”とかの振る舞い(Method)が中に要素として入っていますね。動いた結果分かることや動かないと見れないもの=振る舞い(Method)静止させた状態で”見えているもの”と”見えていないもの”の違いですね。細かいことですが、オブジェクトによって微妙にPropertyとMethodの解釈が異なる気がしますが..、そこに関しては今後更に理解を深めたいです。上図をjavaで簡単に表してみました。思ったが、これだと技術者以外の人も何となく理解できるコードになってる(抽象化により自然とユビキタス言語っぽくなる)..。それはさておき、この状態と振る舞いの2点をまとめたものが”オブジェクト”と呼ばれています。talk”のように抽象的にまとめることで隠蔽が成立する*上図参照うーん、何となく分かるけどイマイチまだ理解しきれませんね。これでどんなメリットをもたらすのでしょうか?簡潔にいうと”個別に処理を任せられる”といったメリットがあります。例を挙げると下記のようなものです。先生は”整列”という指示を独立したオブジェクトに伝えることで、1人1人に指示を出さなくても整列させることが可能になる指示する手間が省けるのは良いことですね。汎用的(クラスは再利用可能)というメリットがあります。このほかにもメリットがあると思いますが、今回はこの辺にしときます。XPの特徴は”5つの価値”と”12のプラクティス”が定義されているのような感じでした。xdの”5つの価値”と”19のプラクティス”に関してはこちらをお読み下さい(実践したことがないので深く説明できません)。図の方が理解しやすいですね。引用元:wikipediaとりあえず従来の方法とは異なりプロジェクトをガンガン進めていくものなんだなあ(かなり語弊を招くと思いますが)、と理解しておきます。実装までの流れを簡潔に示すと、”ユビキタス言語”を用いて↓”ドメインモデル”を構築し↓それをコードとして実装のような流れですね。”ドメインモデル”に関してうっすらとしか理解がないので、まとめてみます。expertsでユビキタス言語を使用しドメインモデルの理解を深める&構築し、実装することが大事なんですね。今回はDDDの根幹の1つであるオブジェクト指向を中心に学習しました。原本を読破していないので全然理解しきれていません。その点ご了承ください。ベトナムでAI開発をするならバイタリフィへ「自社サービスにAIを導入したい」「AIを導入し自社の効率化・コスト課題を改善したい」という企業様はバイタリフィ・バイタリフィアアジアへお気軽にご相談ください。Lab」を運営しております。2019.7.19「業務へのAI導入を検討しているが、何からすれば良いんだろう?」そんな事業戦略担当者様!機械学習、ディープラーニングを用いてAIモデルを無料で作成。ファッション」サービス5選。Learnを試してみたカテゴリーAI開発ベトナムライフベトナムでのオフショア開発スマートフォンアプリ開発ベトナムビジネス情報その。