InfoQ ホームページ 方法論 に関するすべてのコンテンツ
-
ドメイン駆動設計とは - 金融取引アプリケーションを例に
ドメイン駆動設計(DDD)とは,ビジネス目標を達成する上で,ドメインの専門家と開発者,その他の関係者のコラボレーションを重視したソフトウェア開発アプローチだ - Naresh Bhatia氏は,DDDの基本コンセプトをこのような説明で紹介し,金融取引のドメインから,中程度の複雑性を持ったシステムであるBullsfirstを例として選択した。
-
集約、エンティティ、バリューオブジェクト
集約をモデリングして、その集約の中のエンティティから可能な限り多くの振る舞いをバリューオブジェクトに移行しようとするとき、より多くの振る舞いが必要になるにつれ、新しいバリューオブジェクトが必要になる。これは、Paul Rayner氏が集約やエンティティ、バリューオブジェクトなどドメイン駆動設計(DDD)の世界の概念を取り上げた一連のブログ記事の中で推奨していることだ。
-
ドメイン駆動設計のコンテキスト境界間でデータを共有する
ドメイン駆動設計(Domain-Driven Design/DDD)を使って大規模システムの関心事を,それぞれ独自のデータストアを使用するコンテキスト境界{Bounded Context)に分離していると,共通的なデータを共有する必要が生じることが少なくない。それを実現する方法のひとつは,各コンテキストが変更に関するイベントを発行して,他がそのイベントを受信可能にしておくことだ – Julie Lerman氏は先日のMSDN Magazineで,このように説明した。
-
ヘキサゴナルアーキテクチャを探る
階層化システム(Layered System)は,ソフトウェアのメンテナンス性の最大の敵である結合性を回避するための基本的なアーキテクチャスタイルである。"ポートとアダプタ"あるいはヘキサゴナルアーキテクチャは,そのようなアーキテクチャの一例だ。Ian Cooper氏がアーキテクチャスタイル,特にヘキサゴナルアーキテクチャに関して,プレゼンテーションの中で説明している。
-
ドメイン駆動設計とオニオンアーキテクチャ
ドメイン駆動設計(DDD/Domain-Driven Design)とオニオンアーキテクチャを数年前から使い始めたWade Waldron氏は,このコンビネーションによってコード品質が劇的に向上したと考えている。最初はDDDを使い始めたのだが,オニオンアーキテクチャと併用することで,コードがもっと読みやすく,理解しやすく,はるかにメンテナンスしやすいものになることに気付いたのだ。
-
マイクロサービスの配置とビルドのパターン
マイクロサービスを管理するのは、互いに通信しあい、自動的にプロビジョニングするたくさんの小さなシステムの面倒を見ることであり、インフラの自動化が極めて重要だ、とJames Lewis氏は言う。氏はマイクロサービスアーキテクチャがもたらす、増大する運用の複雑性に対処するための方法を共有する中で、このように書いている。
-
Akkaを使ったリアクティブなDDDおよびCQRS���ースのアプリケーション構築
DDDとCQRSはコンテキスト境界やトランザクション境界,イベントベース通信といった概念を考慮しながら,スケーラブルなソフトウェアを構築するには最適の組み合わせだ。さらにAkkaを併用することで,企業アプリケーション構築の完全なプラットフォームになる - Pawel Kaczor氏は,これらの概念に基づくリアクティブなアプリケーション構築を取り上げた3部シリーズの冒頭を,このようなことばから始めている。
-
SoundCloudのマイクロサービスへの移行
SoundCloudがマイクロサービス型の設計に移行したのは、チームが新しい機能を素早く実装できるようになるために致命的に重要だった。Phil Calçado氏は3連続のブログ記事でそう書いている。この記事では彼らのモノリステックなシステムからの移行についての経験が書かれている。
-
将来に発生することのスケジューリングについてGreg Young氏が語る
メッセージングベースのシステムを考えるとき、将来へのメッセージ送信を遅延させるのはとても強力なパターンだ。このパターンは時間に関する問題に対処するにはとても便利だ。ロンドンで開催されたDDD ExchangeカンファレンスでGreg Young氏はそう語った。
-
きれいで代表的なモデルが高性能
先頃ロンドンで開催されたDDD Exchangeで、Martin Thompson氏は、自分の書いたコードが全く最適化されておらず、コードがきれいなきわめて性能の良いシステムを開発することができるはずだ、と語った
-
DDD Exchange Day 2014がLondonで開催
6回目 DDD Exchange Dayがロンドンで6月20日に開催される。Eric Evans氏、Martin Thompson氏、Alberto Brandolini氏、Greg Young氏が参加する。EricはオープニングのキーノートでDDDの根本的な仮定に挑戦する。
-
ドメイン駆動設計における関数型パターン
ドメイン駆動設計(DDD)の概念を状態と振る舞いというオブジェクト指向の原理を使って実装しようとすると、しばしば混乱した変わりやすいモデルができあがる。その代わりに、ドメインオブジェクトは状態のみをもち、振る舞いをスタンドアローンな関数として構築することがよりよい実現方法につながる、とDebasish Ghosh氏は最近のブログ投稿で主張している。
-
C#でSOLIDにする
Autonomous Solutions Inc.のソフトウェア開発者Brannon B. King氏は2014年5月のMSDN MagazineでC#でSOLIDの原則に反することの危険性と題した記事を公開した。著者は、開発者のミスでC#コードがSOLIDの原則を破ることで、拡張または維持することがより難しくなる概要を説明した。
-
関数型言語F#を使ったDDDとCQRS
ドメイン駆動設計(DDD)を実践する上で、C#のようなオブジェクト指向言語からF#のような関数型の言語へ移行すると、振る舞いに着目できることとより宣言的なコードになることのふたつの利点がある、とLev Gorodinski氏は言う。氏は最近のプレゼンでイベントソーシングとCommand-Query Responsibility Separation(CQRS)を例に挙げて説明した。
-
関数型言語を使ったドメイン駆動設計
ドメイン駆動設計 (DDD) で関数型言語を使用すると、多くの場合で実際のコードが簡単になり、ドメイン専門家と議論する際にUMLの代わりとして使うこともできると、Scott Wlaschinは関数型ロンドン市民グループの最近の会議で述べた。講演内容は、F#を使った関数型プログラミングにドメインモデリングを適用することについてであった。