InfoQ ホームページ デザインパターン に関するすべてのコンテンツ
-
DDDにおける重要なパターン
パターンの重要性に関する議論の中で、ドメイン駆動開発以外の部分でも知っておくべき重要なパターンが多く存在し、これらはより良いシステムを設計する支援をしてくれるだろう、とアムステルダムで開催された最近のDDD Europe Conferenceにおける自身の発表の中でCyrille Martraire氏は述べた。
-
よいコードを書くために,プログラマは何をすればよいのか
よいコードを書くためには,設計の基本を守り,既存のコードを読むことが必要である – Java ChampionでハイパフォーマンスコンピューティングのスペシャリストであるMartin Thompson氏のことばだ。InfoQは,QCon London 2016で“Engineering You”と題した講演を終えた氏に,ソフトウェア産業が直面する課題は何か,プログラマがそれを克服して優れたソフトウェアエンジニアになるにはどうすればよいのか,などをインタビューした。
-
フロントエンドに対するAPIバックエンドの提供パターン
モバイルデバイスを使ったWebエクスペリエンスは,その小さな画面や限られたデータプラン,要求数を少なくする必要など,多くの点がデスクトップのものとは違う。内容の異なるデータが必要な場合や,バーコードリーダ経由など独特のインタラクションが提供される場合もある。クライアント形式毎にひとつのバックエンドを用意するBFF(Backend For Frontend)はそのソリューションのひとつだ,とSam Newman氏は自身のブログ記事で述べている。
-
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ベースのアプリケーションを用いて,そのようなシステムの実装方法の例証も行っている。