InfoQ ホームページ デザインパターン に関するすべてのコンテンツ
-
DDD、マイクロサービス、境界についてEric Evans氏が語る
マイクロサービスには大きな価値があり、ドメイン駆動設計を実践するための最高の環境を与えてくれると考えている、とEric Evans氏は、ロンドンで開催された、DDD Exchangeカンファレンスのキーノートで講演をした。氏にとっては、イテレーションは良い設計のためにもっとも重要だ。そして、マイクロサービスは良い設計をするためSOA以来の2度目の挑戦だ。
-
IODAアーキテクチャについて
Ralf Westphal氏によると、レイヤードアーキテクチャ、ヘキサゴナルアーキテクチャ、クリーンアーキテクチャといったアーキテクチャパターンはよく似ていて、アプリケーションの構造について非常に大雑把なイメージを与えてくれるという。Westphal氏はアーキテクチャを記述する別の方法を求めて、IODAアーキテクチャというスタイルを定義した。これはオペレーション、データ、インテグレーションという3つのフォーマルな責務で構築される。
-
集約、エンティティ、バリューオブジェクト
集約をモデリングして、その集約の中のエンティティから可能な限り多くの振る舞いをバリューオブジェクトに移行しようとするとき、より多くの振る舞いが必要になるにつれ、新しいバリューオブジェクトが必要になる。これは、Paul Rayner氏が集約やエンティティ、バリューオブジェクトなどドメイン駆動設計(DDD)の世界の概念を取り上げた一連のブログ記事の中で推奨していることだ。
-
アーキテクチャ、技術、そしてアンチパターン「溶岩流」
アーキテクチャと技術を連続して変えながらアプリケーションを走らせると、脆弱で断片的なコードベースが生まれ、理解やメンテナンスが難しくなる。Mike Hadlow氏は溶岩流または溶岩層とこのアンチパターンを命名し、このアンチパターンが時折表れる理由について自身の経験を書いている。
-
ヘキサゴナルアーキテクチャを探る
階層化システム(Layered System)は,ソフトウェアのメンテナンス性の最大の敵である結合性を回避するための基本的なアーキテクチャスタイルである。"ポートとアダプタ"あるいはヘキサゴナルアーキテクチャは,そのようなアーキテクチャの一例だ。Ian Cooper氏がアーキテクチャスタイル,特にヘキサゴナルアーキテクチャに関して,プレゼンテーションの中で説明している。
-
ドメイン駆動設計とオニオンアーキテクチャ
ドメイン駆動設計(DDD/Domain-Driven Design)とオニオンアーキテクチャを数年前から使い始めたWade Waldron氏は,このコンビネーションによってコード品質が劇的に向上したと考えている。最初はDDDを使い始めたのだが,オニオンアーキテクチャと併用することで,コードがもっと読みやすく,理解しやすく,はるかにメンテナンスしやすいものになることに気付いたのだ。
-
Facebook の決断:MVCはスケールしない。ならば Flux だ。
MVC アーキテクチャは増大するニーズに応じてスケールすることができないため、Facebook社は、Fluxと呼ばれる別のデザインパターンを用いることを決断した。
-
オブジェクト指向設計の原則と関数型プログラミング
互いに独立した活動として、Richard Warburtonはプレゼンテーションで、Mark Seemannはブログで、共に関数型プログラミングの観点から見たオブジェクト指向とSOLID設計原則について触れた。
-
クラウドホスト型アプリケーションのためのデザインパターン
Microsoftのpatterns & practicesグループがクラウドホスト型アプリケーションの実装に適したソリューションとパターンを提案したガイドをリリースした。ガイドには、クラウドアプリケーション開発で良く遭遇する領域をカバーする8の問題カテゴリとともに、10のガイダンストピックと24のデザインパターンを含んでいる。また、これらのパターンの使い方を実演する10のサンプルアプリケーションも含まれている。
-
JavaScriptのためのSOLID設計原則
SOLID原則は安定したJavaScriptコードを書くのに役立つオブジェクト指向プログラミングの一例だ。 JavaScriptを中心に本も書いている開発者のDerick Bailey氏が最近のプレゼンテーションでこのように語った。
-
JavaScriptアプリケーションのためのデザインパターン
ますます巨大で複雑なJavaScriptアプリケーションを書くようになってきているが、そこに関係する基本原則については見落としがちだ。シニアWebエンジニアのCarl Danley氏は、JavaScriptデザインパターンに関する一連のブログ記事を開始した。パターンは、構造化されたスケーラブルでメンテナンス可能なコードを書くための明確なアプローチ、巨大なJavaScriptアプリケーションを開発するときに極めて重要になるコンセプトを提供する。
-
Life PreserverとSpringを用いたヘキサゴナルアーキテクチャの実装
Russ Miles氏は先日,システムにおける適用力の必要性と,それを達成する上で氏のヘキサゴナルアーキテクチャ実装が持つ有用性について,自身の意見と見解を発表した。さらにJavaとSpringベースのアプリケーションを用いて,そのようなシステムの実装方法の例証も行っている。
-
.NETにおけるSOLID設計原則とデザインパターン
.NETプラットフォームのWeb開発者であるAndras Nemes氏は, SOLID設計原則やオブジェクト指向プログラミング/設計で興味を持ったその他のデザインパターンについて,シリーズのブログ記事を書いている。現在はSOLIDのD,すなわち依存関係逆転の原則(Dependency Inversion Principle)について執筆中だ。これまですでに,他のパターンの中からCommand, Builder, Visitor, Bridge, Observerなどを取り上げている。
-
単純なイベント駆動コンポーネントを使って単純さをシステムに作りこむ
システムのアーキテクチャに単純さをもたらすために、小さなコンポーネント間のやり取りにイベントを使うことをRuss Miles氏が単純なイベント駆動コンポーネントについて、最近行ったプレゼンで提案した。これは、彼が単純さについての彼の考えのアーキテクチャ上の基礎を置いている、一ヶ月前の彼の講演のフォローアップである。
-
イベントがシステムアーキテクチャに単純さをもたらす
小さなビジネスコンポーネント間のやり取りにイベントを使うと、システムアーキテクチャに単純さがもたらされる、とRuss Miles氏が先週、イベントによるアーキテクチャの単純さについて講演した時に説明した。