InfoQ ホームページ 設計 に関するすべてのコンテンツ
-
Michael Feathers氏の提唱する設計指針としてのエラー処理
Michael Feathers氏はエラーに関心を持っているが、ほとんどの開発者がエラーに多くの時間を割きたいとは思っていないことは理解している。氏はまた、大部分のエラー処理は一種のギブアップに過ぎない、と考えている。レガシコードでの開発作業に関する著書で知られる氏は、Explore DDD 2018で行った基調講演の中で、エラーを排除することが、いかにソフトウェアシステム設計のドライバになり得るかを論じた。
-
なぜ、どのように、いつ読みやすいコードを書くか
ほとんどの開発者が読みやすいコードを欲している。開発チームは機能性より読みやすさを好ましいと思っているかもしれない。しかし、読みやすさを定義しようとすると、意見が割れる。Explore DDD 2018でLaura Savino氏はなぜ読みやすいコードが良いのか、読みやすさとはどういうことなのか、他の考慮点よりも読みやすさが絶対的に優先度が高い場合はどんな場合か、について話をした。
-
Eric Evans氏はドメイン駆動設計(DDD) は未完成だと述べた
Explore DDDの基調講演のなかで、Eric Evans氏は「DDDは未完成だ」と述べた。ドメイン駆動設計が上梓されてからの過去15年間において、DDDは立ち止まっておらず、DDDを進化させ続けるために依然としてやることがあるのだ。
-
ビジネスプロセス、長期実行サービス、マイクロサービス
ここ数年、ドメインイベントに関する議論は増えているが、コマンドについても同じように議論すべきではないか – Martin Schimak氏はDDD eXchange 2018の講演でこのように述べて、マイクロサービスにおけるイベントとコマンド、長期実行(long-running)サービスを取り上げるとともに、プロセスマネージャおよび同類のツールがコアビジネスロジックを運用する上でいかに有効であるかを説明した。
-
システムをマイクロサービスに分解するには
2年前、Vladik Khononov氏とそのチームはマイクロサービスの導入を決定したものの、数ヶ月後に大きな混乱に陥った。システムをマイクロサービスに分解する方法 - さまざまな機能を配置するためのバウンダリを見つけ出す方法を検討することなく、新しいクールなテクノロジに飛びついたことが原因だった。
-
多すぎるスクリプトは継続的デリバリーをダメにする
先月のContinuous Lifecycle Londonにて、Avantika Mathur氏が継続的デリバリーパイプラインにおけるスクリプトの増加にまつわるコストについて語った。メンテナンスコストに加えて、もうひとつ大きなコストは、本番環境に変更をデプロイするまでに実際に何が実行されるのか、その可視性と監査可能性が欠けていることだ。多くの組織がこのことに気づいていない。
-
DDD、イベントストーミング、アクターモデルを使用したリアクティブシステムの設計
ドメイン駆動設計(DDD)は、しばしマイクロサービスを取り巻く境界(境界づけられたコンテキスト)を見つけ出すために用いられる。しかし、DDDに含まれるすべてのものがマイクロサービスにとって良いわけではない、とLutz Huehnken氏はベルリンで開催されたmicroxchg 2018のプレゼンテーションのなかで主張した。氏はDDD、イベントストーミング、そしてAkkaを基盤としたLagomフレームワークを使用して、リアクティブシステムをどうやって構築できるかを解説している。
-
Jeff Patton氏、アジャイルのプロダクトオーナシップを語る
先日のAgile Indiaカンファレンスで行った基調講演で、Jeff Patton氏は、アジャイル開発がプロダクトのオーナシップにアプローチする方法を取り上げた。氏によれば、プロダクト管理はプロダクトオーナというスクラム用語が生まれる前に存在した規律であって、大部分のアジャイル組織においては、せいぜい形式的なアプローチとして採用されているに過ぎず、真のプロダクト管理が求められている。
-
QCon London: 非同期イベントアーキテクチャにおけるアクタ導入の可否
マイクロサービスシステムにおける同期型の要求-応答通信は、場合によっては非常に複雑なものになるが、幸いにもイベントベースのアーキテクチャがこれを回避する手段になる — QCon London 2018でのプレゼンテーションで、Yaroslav Tkachenko氏はこのように主張し、イベントアーキテクチャでの自身の経験から、このアーキテクチャでシステムを構築する上でアクタを利用する方法について説明した。
-
DDD Europe 2018カンファレンス参加記
先日アムステルダムで開催された第3回DDD Europe 2018カンファレンスには、700名近い参加者があった。カンファレンスはドメイン駆動設計(DDD)を中心とするもので、基調講演と19のプレゼンテーション、オープンスペースで開催された1トラックを含み、ライブコーディングとハンズオンを重視した17のセッションが行われた。注目すべき講演者はEric Evans、Dave Snowden、Rebecca Wirfs-Brock、Cyrille Martraire各氏などである。
-
ドメインストーリテリングを使ってコンテキスト境界を見つけ出す
ドメイン駆動設計(DDD)による開発では、コンテキスト境界(bounded context)が重要なコンセプトとなる。ドメインストーリテリング(Domain Storytelling)とは、人々とシステムがドメイン内でどのように共同作業するのか、コンテキスト境界を識別する上で使用できるのは何か、どのように連携するのかを見出す手段である — 先日アムステルダムで開催されたDDD Europe 2018で、Stefan Hofer氏とHenning Schwentner氏はこのように説明した。
-
イベントソースシステムにおける過去と未来のイベント
Thomas Pierrain氏がある資産管理会社と新たなプロジェクトを始めた時、重要な要件のひとつとして、現時点で見ると疑問のある判断を下した理由を理解するために、時間を遡ることを可能にする、というものがあった。アムステルダムで先日開催されたDDD Europe 2018でPierrain氏は、時間軸的な課題を持ってイベントソースシステムを構築した自らの経験について論じた。
-
CQRSとイベントソーシングでシステムを構築する
CQRSとイベントソースシステムに関する議論の末にMichiel Overeem氏が達した結論は、イベントソースシステムに従事する人々の多くはそのシステムを理解せず、問題へのアプローチ方法も分かっていない、というものだ。これが氏にとってこの種のシステムを構築する方法を探求的に研究するきっかけになったと、氏は、先日アムステルダムで開催されたDDD Europe 2018カンファレンスで説明した。
-
Eric Evans氏の基調講演より - ドメイン駆動設計を実践するには
アムステルダムで開催されたDDD Europe 2018で基調講演を行ったEric Evans氏にとって、ソフトウェア開発で重要なのは探求と実践だ。DDD(ドメイン駆動設計)の戦略的パターンに取り組んでいる氏にとって、しかしながら本当の意味で興味があるのは、複雑なドメインに対する新たな思考法、すなわち思考の箱(mental box)から抜け出して新たなコンセプトを見出す方法だ。
-
進化的アーキテクチャと継続的デリバリを支える技術的実践
TDDやリファクタリング、CI、ペアプログラミングなどのXPの実践は創発的設計をサポートし、アーキテクチャの進化を可能にする。継続的デリバリに必要なのは第一にCIで、メインラインに毎日コミットすることだ。きれいでしっかり考えられた、そして、よくテストされたコードを書けることは開発者にとってもっとも重要なスキルだ。