SlideShare a Scribd company logo
1 of 57
Download to read offline
DDD.rb #5
December 19 2015
Frameworks We Live By
Design by day-to-day framework development:
Multi-paradigm design in practice
PHP Mentors
KUBO Atsuhiro @iteman
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Frameworks We Live By
1.ドメインモデルの設計
マルチパラダイムデザインによるドメイン駆動設計の実践
●
共通性と可変性
●
問題ドメインと解決ドメイン
●
ドメインモデルの設計
解決ドメインの抽象による問題ドメインの再定義
2.フレームワーク開発による設計
3.コーディングによる設計
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
久保敦啓 (KUBO Atsuhiro)
●
Programmer, Mentor at @phpmentors,
@piece_framework Project Lead/Developer,
Business Owner.
●
A framework multi-paradigm guy
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
久保敦啓 (KUBO Atsuhiro)
●
PHPメンターズ(2011〜)
– http://phpmentors.jp/
●
IT勉強宴会(2010〜)
http://www.benkyoenkai.org/
●
マルチパラダイムデザイン読書会(2015)
https://github.com/phpmentors-jp/mpdosaka
●
Extreme Programming
Explained読書会(2015〜)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
作ったフレームワーク
●
Net_UserAgent_Mobile(2003)
HTTP mobile user agent string parser
●
Piece_Unity(2006)
A Web application framework
●
Domain Kata(2014)
Kata for domain models
●
Workflower(2015)
A BPMN 2.0 compliant workflow engine for PHP
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
1.ドメインモデルの設計
〜マルチパラダイムデザインによるドメイン駆動設計の実践〜
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
優れた設計というものは、どのよう
な場合であろうと、審美眼、洞察、
経験に依存するのである。
― マルチパラダイムデザイン p.215
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Domain-Driven Design: DDD
(Evans 2003)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Activities of DDD
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
DDDの問題点
●
モデル駆動設計は問題ドメインの概念に根ざした
分析、設計、実装における単一のモデルの開発を
目指すものだが、その実現方法が不明確である。
●
分析(モデリング)手法についての具体的な記述
がアナリシスパターンを適用する、責務のレイヤ
を除いて見つけられない。
●
ドメイン工学に関する記述がなく、ドメイン特化
言語についても不十分な記述に留まる。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Multi-Paradigm Design: MPD
(Coplien 1998)
MPDのアクティビティ
1.問題ドメインをサブドメインに分割する。
2.サブドメインの共通性・可変性を分析する。
3.解決ドメインの共通性・可変性を分析する。
4.解決ドメインの抽象を使ってドメインモデルを
設計する。
5.ドメイン特化言語を評価、設計する。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Activities of MPD
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
マルチパラダイムデザイン
“オブジェクト指向設計が「オブジェクト」の
普遍性に訴えようとしているのに対して、本書
で掲げるマルチパラダイムデザインは「ドメイ
ン」にそれを求めようとしている。”
― マルチパラダイムデザイン p.2
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
マルチパラダイムデザイン
●
James O. "Jim" Coplien氏が提唱するドメイン
工学の設計手法
– アプリケーションを再利用可能な問題ドメインの
アーキテクチャとそのインスタンスという構図で認
識し、そのリファレンスアーキテクチャの作成に主
眼を置く。ジェネレーティブプログラミングとオー
バーラップする。
●
人間の認知モデルに基づく共通性と可変性とい
う観点から問題ドメインを分析
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
マルチパラダイムデザイン
●
ドメインとドメイン間の関係からなる構造(アー
キテクチャ=ドメインモデル)として問題ドメイ
ンを組織化(第1段階のアーキテクチャ)
●
解決ドメインによって支援される抽象を使って問
題ドメインの構造を表現=設計(第2段階のアー
キテクチャ)
解決ドメインの抽象を意図的に問題ドメインに組み込
む!
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
マルチパラダイムデザイン
●
“MPD is predicated on analysis, and is rooted
in a model of commonality that concretely
guides choices”
― https://twitter.com/jcoplien/status/645654740911681536
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
MPDの重要性
●
設計者がモデルを設計することが中心的なアクティビティと
して明示的に位置づけられている。
●
人間の認知モデルに基づく共通性と可変性による設計原理ゆ
え高い普遍性を持つ。
●
現実にある多くの優れたフレームワークにその使用が認めら
れる。すなわち現実を説明できる力を持つ。
例:
●
Symfony(PHP)
●
Ruby on Rails(Ruby)
●
Spring Framework(Java)
●
Boost(C++)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
パラダイム
●
世界に関するモデル
●
計算完全性モデル
●
共通性と可変性の配置に関するモデル
=マルチパラダイムデザイン
MPDのゴール
●
システムの構築方法をドメインの構造(アーキテク
チャ=ドメインモデル)自身が示すようにすること
●
意図性(intentionality)
●
システムレベルにおけるソフトウェアの理解
●
進化の容易さの拡大
のサポートによって実現
●
ニーズを柔軟性に富む弾力ある構造(アーキテク
チャ=ドメインモデル)に変換すること
― マルチパラダイムデザイン p.261
MPDとは何か?
●
共通性と可変性による設計パラダイム
– 人間の認知モデルに基づく共通性と可変性という観点から問題ドメ
インを分析する抽象モデル
– 共通性と可変性を管理する様式(style)という単一の観点から解決
ドメイン(パラダイム)をまとめる統一設計理論
●
設計者の経験と直観やドメインの歴史的意味を頼りに、共通
性と可変性によって問題ドメインが持つ本質的な構造を明ら
かにし、それに適合する解決ドメイン(パラダイム)を選択
可能にする。
●
分析(ドメイン知識の獲得)ではなく設計(ドメイン知識の
組織化)を指向する。
MPDの認知モデル
●
認知言語学に基づくモデル
●
概念メタファーを提唱するGeorge P. LakofとMark
Johnsonらによって切り開かれた新たな認知モデル
●
古典的なカテゴリー観だけでなく新しいカテゴリー
理論に基づく抽象のモデル
– 古典的なカテゴリー観:全成員に共通する属性によって
カテゴリーを規定
– 新しいカテゴリー理論:基本レベルカテゴリー、プロト
タイプ理論→負の可変性
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
“われわれが普段、ものを考えたり行動したり
する際に基づいている概念体系の本質は、根本
的にメタファーによって成り立っているのであ
る。”
― レトリックと人生 p.3
概念メタファー
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
概念メタファー
●
認知言語学の用語で「ある概念領域を別の概念領域を用
いて理解する事」
– 概念メタファー(conceptual metaphor)
●
構造のメタファー(structural metaphors)
●
方向づけのメタファー(orientational metaphors)
●
存在のメタファー(ontological metaphors)
– メトニミー(metonymy)
– シネクドキー(synecdoche)
●
“人間の概念体系がメタファーによって構造を与えら
れ、規定されている” ― レトリックと人生 p.7
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
概念メタファー
●
存在のメタファーの例:
THE MIND IS AN ENTITY
<知力(精神)はひとつの存在物である>
●
THE MIND IS A MACHINE
<知力は機械である>
– My mind just isn't operating today.
<私の頭は今日は全然作動して(=働いて)いない。>
― レトリックと人生 pp.41-42
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
“レイコフはここから発展して、人間の抽象的
な概念能力は、経験に基づいた具体的・身体的
な認知機構からのメタファー的拡張によって可
能になっていると主張し、心身二元論に基づい
た西洋哲学の伝統に対する批判を行ってい
る。”
― ジョージ・レイコフ - Wikipedia
概念メタファー
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
問題ドメイン
●
システムやソフトウェアの当面の関心のある領
域。
例:会計、販売管理、生産管理、ソースコード管
理、Webアプリケーション、オブジェクトリレー
ショナルマッピング、バリデーション、ワークフ
ロー
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
サブドメイン
●
問題ドメインを構成する類似サブシステム群の共通性と可変
性を表現する抽象、ドメインそのもの
●
よく知られたサブドメインは設計の優れたスタートポイント
●
アーキテクチャ=ドメインモデルの再利用単位
– サブドメインのフレームワーク
●
ドメインの階層化
– サブドメインはそのドメインの語彙が現れなくなるまで繰り返し
分割され階層化される。
例:ワークフロードメインをどれだけ細分化してもステートマシ
ンドメインは現れない。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
ワークフロードメインのサブドメイン分割
●
ワークフロー(Workflow)
●
プロセス(Process)
●
定義(Definition)
●
永続化(Persistence)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
解決ドメイン
●
問題ドメインを解決するための抽象基盤となる
技術領域。
例:プログラミング言語、フレームワーク、ライブ
ラリ、デザインパターン、オブジェクト指向プログ
ラミング、ルールベースプログラミング、関数プロ
グラミング、リレーショナルモデル
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
共通性・可変性分析
●
ドメイン辞書(ドメインの語彙集)
– “共通性分析は、ドメイン辞書を作成することから始
める。”
― マルチパラダイムデザイン p.43
– “語彙集は構造、シグネチャ、型、ユースケースの傾
向を表現したものになるだろう。”
― マルチパラダイムデザイン p.69
●
問題ドメイン、解決ドメインの両ドメインが対象
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
共通性・可変性分析
●
演繹的共通性と帰納的共通性
●
共通性次元
データ構造、名前と振る舞い(識別子、シグネ
チャ、型)、アルゴリズム
●
共通性カテゴリ
– 共通性次元によってグループ化されるカテゴリ。ド
メインの可変パラメーター。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
共通性・可変性分析
●
空間的可変性と時間的可変性
– 変更されたアプリケーションはフレームワークの新た
なインスタンスである。
●
機構と方針の分離(Separation of mechanism
and policy)
– 機構は安定、方針は不安定
– インスタンスから見ると共通性は機構としてフレーム
ワークに埋め込まれ、可変性は方針としてインスタン
ス毎の定義の対象となる。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
問題ドメイン分析
●
アプリケーションではなくそのファミリの分析
– 共通性次元によって共通性をグルーピングしたもの
– ドメインを形成
– 可変パラメーターで可変性を表現
●
ドメイン分析のメリット
– 再利用をサポートする一般性
– 柔軟性=変更からの復元力(resilience)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
問題ドメイン分析
●
グローバルに抽象化、ローカルに具象化
– 例:BPMN 2.0を限定的にサポートするワークフ
ローエンジン
– 例:データベース抽象レイヤーとMySQLドライ
バー
●
問題ドメイン分析=ドメイン駆動設計(狭義)
●
可変性テーブル、可変性依存図として形式化
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
ワークフロードメインの可変性依存図
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
ワークフローサブドメインを分析する
OMGのBPMN 2.0ドキュメントを参考に第1段
階のアーキテクチャーを設計…
Workflow:
ConnectingObject:
- SequenceFlow
FlowObject:
Activity:
- Task
Event:
- StartEvent
- EndEvent
Gateway:
- ExclusiveGateway
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
解決ドメイン分析
●
問題ドメインの共通性・可変性に対応する解決
ドメインの抽象を分析する。
●
従来から設計者の暗黙知として存在
●
ファミリテーブルとして形式化(再利用可能)
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
ドメインモデルの設計
●
設計=変換分析(transformational analysis)
– 問題ドメインの構造と解決ドメインの構造のマッピ
ング
●
解決ドメインの抽象で問題ドメインの構造を再
定義、洗練(第2段階のアーキテクチャの作
成)
●
DDDのモデル駆動設計が目指す単一のモデルを
実現
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
ドメインモデルの設計
解決ドメインの構造が問題ドメインの構造を変化させ
る。
分析、設計の繰り返しが必要となる根拠となる。
例:
元の問題: 「これまで考えられてきた設計やプログラミング
の便法を可能なかぎり利用して、複雑な関数の導関数を計
算する。」
変更された問題: 「自動微分を使用して、複合関数の導関数
を計算する」
― マルチパラダイムデザイン pp.200-202
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
ドメインモデルを設計する
●
型の共通性から組織化…
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
ドメインモデルを設計する
操作(振る舞い)の共通性から組織化…
MPDのアクティビティ
1.問題ドメインをサブドメインに分割する。
2.サブドメインの共通性・可変性を分析する。
3.解決ドメインの共通性・可変性を分析する。
4.解決ドメインの抽象を使ってドメインモデルを
設計する。
5.ドメイン特化言語を評価、設計する。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Activities of MPD
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
ドメイン特化言語
●
Domain-Specific Language: DSL
●
問題ドメインのインスタンスを定義するカスタ
ム言語。ドメインの可変性を表現する。
●
問題ドメインの共通性・可変性が既存のソ
リューションドメインの抽象に適合しない場合
に有用
●
1つの解決ドメインとなる。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
DSLを評価、設計する
●
ワークフロー定義はソースコードによる記述が
困難…
●
ワークフロー定義はOMGが定義するBPMN
2.0(XML)がデファクトスタンダード
– OMG提供のXMLスキーマファイルでバリデーショ
ンが可能
– 多数存在するBPMN 2.0対応のグラフィカルエディ
ターを利用可能
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Workflowerによる例:
DSLを評価、設計する
BPMN2 Modeler(Eclipseプラグイン)のエディター
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
2.フレームワーク開発による設計
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Frameworks We Live By
Design by day-to-day framework development
フレームワーク
●
ソースコードとランタイムのオブジェクトによって
サブドメインの構造(アーキテクチャ=ドメインモ
デル)を表現するソフトウェアパッケージ
例:
●
Webアプリケーションフレームワーク
●
ORMフレームワーク
●
ワークフローエンジン
●
アーキテクチャ=ドメインモデルの再利用単位
●
問題ドメインからは1つのサブドメインとして利用
フレームワーク開発:MPDの実践
●
目の前にあるニーズから問題にアプローチするだけ(ア
プリケーション分析)では、広い領域に適用できるよう
な共通性を見つける機会が制限される。
●
あるアプリケーションを作る際に、そのアプリケーショ
ンをフレームワークとその最初のクライアントという構
成に意図的に持ち込むことで、共通性を見つける機会の
制約を打ち破り、広い領域に適用できるソリューション
を作り出そうということである。
●
フレームワークの作成では必然的にアプリケーションで
はなくドメインに対して設計を行うことになる。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Coding We Live By
Design by day-to-day coding
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
コーディング:MPDの実践
●
設計と実装、その活動の統合を目指して
– 設計してからの実装ではなく実装を通した設計を指向
する。
●
開発環境・技術の進化により現実のものとなって
いる。
– 開発環境による高速なフィードバックがそれを可能に
している。
●
現在の実装(コーディング)は当時のCoplien氏の
見通し以上の活動になっている。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
コーディング:MPDの実践
●
それゆえ:
プログラマーは設計者である。実装の中心的な
関心を設計と位置づけ、意図を持った設計
(intentional design)を作り出すこと。
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Coding We Live By
1.ドメインモデルの設計
マルチパラダイムデザインによるドメイン駆動設計の実践
●
共通性と可変性
●
問題ドメインと解決ドメイン
●
ドメインモデルの設計
解決ドメインの抽象による問題ドメインの再定義
2.フレームワーク開発による設計
3.コーディングによる設計
Copyright (c) 2015 KUBO Atsuhiro <kubo@iteman.jp>, All rights reserved.
Code the Domain!
You are a Domain Coder!
参考文献
●
(Coplien 1998) Coplien, James O. Multi-Paradigm Design for C++ Reading, MA: Addision-
Wesley, 1998. 『マルチパラダイムデザイン』(金沢典子/羽生田栄一/平鍋健児訳、ピアソン
エデュケーション、2001、ISBN4894712989)
●
(Lakof and Johnson 1980) Lakof, George and Johnson, Mark Metaphors We Live By,
Chicago: University of Chicago Press, 1980. 『レトリックと人生』(渡部昇一/楠瀬淳三/下
谷和幸訳、大修館書店、1986、ISBN4469211257)
●
George Lakof - Wikipedia, the free encyclopedia
●
ジョージ・レイコフ – Wikipedia
●
認知言語学 - Wikipedia

More Related Content

What's hot

ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル増田 亨
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方増田 亨
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則Toru Koido
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718Mao Ohnishi
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由増田 亨
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント増田 亨
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)VOYAGE GROUP
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ増田 亨
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門増田 亨
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)Takuya Kawabe
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)kumake
 

What's hot (20)

ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718
 
私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由私がドメイン駆動設計をやる理由
私がドメイン駆動設計をやる理由
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 

Viewers also liked

ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~啓 杉本
 
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizard
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizardThink Like a 50s Ad Exec & Execute Like a Geek #BeWizard
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizardLisa Myers
 
Artificial Intelligence or the Brainization of the Economy
Artificial Intelligence or the Brainization of the EconomyArtificial Intelligence or the Brainization of the Economy
Artificial Intelligence or the Brainization of the EconomyWilly Braun
 
Humantalents soft skills training-brochure
Humantalents soft skills training-brochureHumantalents soft skills training-brochure
Humantalents soft skills training-brochureJayadeva de Silva
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介Takuya Ueda
 
Splunk Überblick
Splunk ÜberblickSplunk Überblick
Splunk ÜberblickSplunk
 
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileri
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme TeknolojileriBilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileri
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileriİbrahim KIVANÇ
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Taiga Nomi
 
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017Hend Al-Khalifa
 
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...India-EU Water Partnership
 
MongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud ManagerMongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud ManagerJay Gordon
 
Final seminar on its
Final seminar on itsFinal seminar on its
Final seminar on itsMital Damani
 
Dealing with Performance in SharePoint Server
Dealing with Performance in SharePoint ServerDealing with Performance in SharePoint Server
Dealing with Performance in SharePoint ServerJason Warren
 
ところで皆さん、上司の承認を得るプレゼンが目的でよい?
ところで皆さん、上司の承認を得るプレゼンが目的でよい?ところで皆さん、上司の承認を得るプレゼンが目的でよい?
ところで皆さん、上司の承認を得るプレゼンが目的でよい?Yasutaka Hamada
 
NV Wim Delvoye blijft winstmachine
NV Wim Delvoye blijft winstmachineNV Wim Delvoye blijft winstmachine
NV Wim Delvoye blijft winstmachineThierry Debels
 
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...智啓 出川
 
Investeringsprogramma koninklijk paleis in hoogste versnelling
Investeringsprogramma koninklijk paleis in hoogste versnellingInvesteringsprogramma koninklijk paleis in hoogste versnelling
Investeringsprogramma koninklijk paleis in hoogste versnellingThierry Debels
 
ジャパリパークさいかいけーかく
ジャパリパークさいかいけーかくジャパリパークさいかいけーかく
ジャパリパークさいかいけーかくfurandon_pig
 

Viewers also liked (20)

ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
ドメイン駆動設計 ~ユーザー、モデル、エンジニアの新たな関係~
 
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizard
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizardThink Like a 50s Ad Exec & Execute Like a Geek #BeWizard
Think Like a 50s Ad Exec & Execute Like a Geek #BeWizard
 
Artificial Intelligence or the Brainization of the Economy
Artificial Intelligence or the Brainization of the EconomyArtificial Intelligence or the Brainization of the Economy
Artificial Intelligence or the Brainization of the Economy
 
Everything as a code
Everything as a codeEverything as a code
Everything as a code
 
Head injury
Head injury Head injury
Head injury
 
Humantalents soft skills training-brochure
Humantalents soft skills training-brochureHumantalents soft skills training-brochure
Humantalents soft skills training-brochure
 
Cloud Functionsの紹介
Cloud Functionsの紹介Cloud Functionsの紹介
Cloud Functionsの紹介
 
Splunk Überblick
Splunk ÜberblickSplunk Überblick
Splunk Überblick
 
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileri
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme TeknolojileriBilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileri
Bilmök 2017 - Microsoft Yeni Yesil Yazilim Geliştirme Teknolojileri
 
Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷Deep learningの概要とドメインモデルの変遷
Deep learningの概要とドメインモデルの変遷
 
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017
A Survey of IT Jobs in the Kingdom of Saudi Arabia 2017
 
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...
Mr. Ludo Diels IEWP @ 2nd India-EU Water Forum @ World Sustainable Developmen...
 
MongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud ManagerMongoDB and DigitalOcean Automation with Cloud Manager
MongoDB and DigitalOcean Automation with Cloud Manager
 
Final seminar on its
Final seminar on itsFinal seminar on its
Final seminar on its
 
Dealing with Performance in SharePoint Server
Dealing with Performance in SharePoint ServerDealing with Performance in SharePoint Server
Dealing with Performance in SharePoint Server
 
ところで皆さん、上司の承認を得るプレゼンが目的でよい?
ところで皆さん、上司の承認を得るプレゼンが目的でよい?ところで皆さん、上司の承認を得るプレゼンが目的でよい?
ところで皆さん、上司の承認を得るプレゼンが目的でよい?
 
NV Wim Delvoye blijft winstmachine
NV Wim Delvoye blijft winstmachineNV Wim Delvoye blijft winstmachine
NV Wim Delvoye blijft winstmachine
 
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
Schematic diagrams of GPUs' architecture and Time evolution of theoretical FL...
 
Investeringsprogramma koninklijk paleis in hoogste versnelling
Investeringsprogramma koninklijk paleis in hoogste versnellingInvesteringsprogramma koninklijk paleis in hoogste versnelling
Investeringsprogramma koninklijk paleis in hoogste versnelling
 
ジャパリパークさいかいけーかく
ジャパリパークさいかいけーかくジャパリパークさいかいけーかく
ジャパリパークさいかいけーかく
 

Similar to Frameworks We Live By: Design by day-to-day framework development: Multi-paradigm design in practice at DDD.rb #5

設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】Tomoharu ASAMI
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】Tomoharu ASAMI
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶShumpei Shiraishi
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】Tomoharu ASAMI
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】Tomoharu ASAMI
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計アシアル株式会社
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けてHironori Washizaki
 
Semat - a Japanese introduction
Semat - a Japanese introductionSemat - a Japanese introduction
Semat - a Japanese introductionKenji Hiranabe
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程Hidetoshi Mori
 
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423Yusuke Suzuki
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011Yusuke Suzuki
 
Why-is-ImplementationPattterns-important-so-much
Why-is-ImplementationPattterns-important-so-muchWhy-is-ImplementationPattterns-important-so-much
Why-is-ImplementationPattterns-important-so-muchKoji SHIMADA
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121Naoya Kojima
 
関数型プログラミングの視点で考えるテーマ機能 on React
関数型プログラミングの視点で考えるテーマ機能 on React関数型プログラミングの視点で考えるテーマ機能 on React
関数型プログラミングの視点で考えるテーマ機能 on ReactKazuyuki TAKASE
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsKenji Hiranabe
 
Cedec2012 ai-contest-design-patterns-principles
Cedec2012 ai-contest-design-patterns-principlesCedec2012 ai-contest-design-patterns-principles
Cedec2012 ai-contest-design-patterns-principlesHironori Washizaki
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】Tomoharu ASAMI
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発Tomoharu ASAMI
 
Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介MuleSoft Meetup Tokyo
 

Similar to Frameworks We Live By: Design by day-to-day framework development: Multi-paradigm design in practice at DDD.rb #5 (20)

設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
設計/ドメイン設計(4) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第26回】
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶjQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
jQueryの先に行こう!最先端のWeb開発トレンドを学ぶ
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
 
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
設計/ドメイン設計(3) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第25回】
 
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
 
Semat - a Japanese introduction
Semat - a Japanese introductionSemat - a Japanese introduction
Semat - a Japanese introduction
 
Ms retail update ra 20191030
Ms retail update ra 20191030Ms retail update ra 20191030
Ms retail update ra 20191030
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
 
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
なぜソフトウェアアーキテクトが必要なのか - デブサミ2011
 
Why-is-ImplementationPattterns-important-so-much
Why-is-ImplementationPattterns-important-so-muchWhy-is-ImplementationPattterns-important-so-much
Why-is-ImplementationPattterns-important-so-much
 
jjug_night_20161121
jjug_night_20161121jjug_night_20161121
jjug_night_20161121
 
関数型プログラミングの視点で考えるテーマ機能 on React
関数型プログラミングの視点で考えるテーマ機能 on React関数型プログラミングの視点で考えるテーマ機能 on React
関数型プログラミングの視点で考えるテーマ機能 on React
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
Cedec2012 ai-contest-design-patterns-principles
Cedec2012 ai-contest-design-patterns-principlesCedec2012 ai-contest-design-patterns-principles
Cedec2012 ai-contest-design-patterns-principles
 
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
実装(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第31回】
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介Mule Runtime のアーキテクチャコンセプト紹介
Mule Runtime のアーキテクチャコンセプト紹介
 

More from Atsuhiro Kubo

Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Atsuhiro Kubo
 
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Atsuhiro Kubo
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsAtsuhiro Kubo
 
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportLean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportAtsuhiro Kubo
 
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界Atsuhiro Kubo
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with SymfonyAtsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodAtsuhiro Kubo
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitAtsuhiro Kubo
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous TestingAtsuhiro Kubo
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにAtsuhiro Kubo
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストAtsuhiro Kubo
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPAtsuhiro Kubo
 
Piece Framework 2.0 Background
Piece Framework 2.0 BackgroundPiece Framework 2.0 Background
Piece Framework 2.0 BackgroundAtsuhiro Kubo
 

More from Atsuhiro Kubo (16)

MPD Osaka Extra 5
MPD Osaka Extra 5MPD Osaka Extra 5
MPD Osaka Extra 5
 
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
 
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
 
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportLean Architecture / DCI Evening Report
Lean Architecture / DCI Evening Report
 
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
 
Piece Framework 2.0 Background
Piece Framework 2.0 BackgroundPiece Framework 2.0 Background
Piece Framework 2.0 Background
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Frameworks We Live By: Design by day-to-day framework development: Multi-paradigm design in practice at DDD.rb #5