CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
はじめに ドメイン駆動設計(DDD)とは、2003年にエリック・エヴァンス氏が『Domain-driven design』という書籍にて提唱したソフトウェア開発手法です。DDDを簡単に説明すると「顧客と開発者が業務を戦略的に理解し、共通の言葉を使いながらシステムを発展させる手法」です。具体的には、チームの共通言語である「ユビキタス言語」を用いて「ドメインモデル」を構築し、それをコードとして実装します。また大規模で密結合なシステムにならないように「ドメイン」と「境界づけられたコンテキスト」にてシステムを分割し、「コアドメイン」という最重要領域に集中して開発を行います。 ソフトウェア開発の課題とDDDが解決すること DDDの登場から10年以上が経ち、DDDは着実に普及しつつあります。DDDが普及してきている背景として、システム開発がますます多機能/複雑になり、ビジネス的にも敏速な変更が求められ
[技術講座] DDD難民に捧げる Domain-Driven Designのエッセンス 第 1 回 ドメイン駆動設計とは 第 2 回 DDDの基礎と実践 第 3 回 大規模なプロジェクトへの適用 DDDパターンカタログ パターン名 参考訳 I. Putting the Domain Model to Work Ubiquitous Language ユビキタス言語 Model-Driven Design モデル駆動設計 Hands-On Modeler 実践的モデラー II. Building Blocks of a Model-Driven Design Layered Architecture 層状アーキテクチャ Smart UI (アンチパターン) 利口なUI Entities エンティティ Value Objects 値オブジェクト Services サービス Modules モジ
今回はドメイン開発入門について解説していきたいと思います。 まずはドメイン駆動開発とはどういったものかを述べて、そこから一般的なアーキテクチャとどう異なるかについて説明していきたいと思います。 1. ドメイン駆動設計とは ドメイン駆動設計とは、一言で言うと、ソフトウェアの設計手法のことです。 オブジェクト指向におけるアーキテクチャにおいて、ドメイン層に重点を置いて開発を行い、 仕様が確定したり改修を行っていく度にドメインモデルを反復的に深化させていく手法になります。 ここでのドメイン層とはアプリケーションが対象とする業務領域のことです。 2. 一般のアーキテクチャとどう異なるか? まずは一般的なアプリケーション(トランザクションスクリプト)のアーキテクチャについておさらいしてみましょう。 ・プレゼンテーション層 利用ユーザーに対するインターフェースの提供する。 ・ドメイン層(ビジネスレイア
13. オブジェクト指向の「変更容易性」 (どのパラダイムでも同じだけど) • 抽象データ型/段階的な抽象化 – プログラムを人間の発想に近づけると扱いやすい • モジュラープログラミング – 独立性の高い部品に分けると扱いやすい – 関連するデータと操作は、ひとつのプログラミング単位に • メッセージング – 部品の組合せを柔軟に変更できると扱いやすい – sender/receiver/dynamic routing – Javaだとうまく実現できていないアイデア • メッセージングの考え方の参考 • Erlang, EIP:Enterprise Integration Patterns, マイクロ サービス, …
こんにちは、id:hakobe932 です。 はてなでは有志が不定期の放課後勉強会を開催しています。今回は、ソウトウェア設計に興味のあるエンジニアがあつまって開催したドメイン駆動設計( = DDD)についての勉強会について紹介します。 実践ドメイン駆動設計を輪読 議論を中心にした形式 勉強会の成果 既存のソフトウェアの設計の整理と理解 ソフトウェア設計技術の習得 新しいプロジェクトの設計への活用 まとめ YAPCでも聞けます 最高に品質の良いソフトウェアをつくりたい! 実践ドメイン駆動設計を輪読 今年の3月に発売された、実践ドメイン駆動設計を輪読する形式で勉強会を行いました。 実践ドメイン駆動設計 (Object Oriented Selection) 作者: ヴァーン・ヴァーノン,高木正弘出版社/メーカー: 翔泳社発売日: 2015/03/17メディア: 大型本この商品を含むブログ (2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く