InfoQ ホームページ 設計 に関するすべてのコンテンツ
-
IODAアーキテクチャについて
Ralf Westphal氏によると、レイヤードアーキテクチャ、ヘキサゴナルアーキテクチャ、クリーンアーキテクチャといったアーキテクチャパターンはよく似ていて、アプリケーションの構造について非常に大雑把なイメージを与えてくれるという。Westphal氏はアーキテクチャを記述する別の方法を求めて、IODAアーキテクチャというスタイルを定義した。これはオペレーション、データ、インテグレーションという3つのフォーマルな責務で構築される。
-
Raffi Krikorian氏がシステムの書き換えについて語る
O’Reilly Software Architecture conferenceにて、Raffi Krikorian氏がシステムの書き直しに取り組む技術リーダー、アーキテクト向けに戦略と戦術を語った。氏のTwitter Engineeringでのバイスプレジデントとしての経験を引き合いにだし、再設計のプロセスを管理するための12のポイントを解説した。“完了”を定義すること、コードの品質を保つことなどについてだ。
-
ドメイン駆動設計とは - 金融取引アプリケーションを例に
ドメイン駆動設計(DDD)とは,ビジネス目標を達成する上で,ドメインの専門家と開発者,その他の関係者のコラボレーションを重視したソフトウェア開発アプローチだ - Naresh Bhatia氏は,DDDの基本コンセプトをこのような説明で紹介し,金融取引のドメインから,中程度の複雑性を持ったシステムであるBullsfirstを例として選択した。
-
デジタル産業に従事する女性を称えるSpring Forward Festival
Spring Forwardは,女性史月間(Women's History Month)にちなんで,女性のデジタル部門での功績を称え,奨励することを目的に,英国ブライトンで開催されるフェスティバルである。
-
集約、エンティティ、バリューオブジェクト
集約をモデリングして、その集約の中のエンティティから可能な限り多くの振る舞いをバリューオブジェクトに移行しようとするとき、より多くの振る舞いが必要になるにつれ、新しいバリューオブジェクトが必要になる。これは、Paul Rayner氏が集約やエンティティ、バリューオブジェクトなどドメイン駆動設計(DDD)の世界の概念を取り上げた一連のブログ記事の中で推奨していることだ。
-
アーキテクチャ、技術、そしてアンチパターン「溶岩流」
アーキテクチャと技術を連続して変えながらアプリケーションを走らせると、脆弱で断片的なコードベースが生まれ、理解やメンテナンスが難しくなる。Mike Hadlow氏は溶岩流または溶岩層とこのアンチパターンを命名し、このアンチパターンが時折表れる理由について自身の経験を書いている。
-
JetBrainsはReSharper 9をはじめとする.NETツールのすべてのアップデートした
JetBrainsは、 ReSharper 9, dotTrace 6, dotCover 3, dotMemory 4.2, dotPeek 1.3, TeamCity Add-in 9.0を含む.NETツールの新しいRTMバージョンを発表した。JetBrainsは、これらのツー���の単一インストーラーとプラットフォームを開発した。ReSharperをインストールしようとすると、プラットフォームを共有する他の.NETツールをインストールするオプションが表示される。
-
ドメイン駆動設計のコンテキスト境界間でデータを共有する
ドメイン駆動設計(Domain-Driven Design/DDD)を使って大規模システムの関心事を,それぞれ独自のデータストアを使用するコンテキスト境界{Bounded Context)に分離していると,共通的なデータを共有する必要が生じることが少なくない。それを実現する方法のひとつは,各コンテキストが変更に関するイベントを発行して,他がそのイベントを受信可能にしておくことだ – Julie Lerman氏は先日のMSDN Magazineで,このように説明した。
-
-
Androidアプリ開発のためのGoogleのガイダンス
Googleは“The Secrets to App Success on Google Play”を発表した。これは、Android開発者を教育するためのプレイブックで、ユーザに評価されるアプリ、多くの人にダウンロードされるアプリについて書いている。
-
ヘキサゴナルアーキテクチャを探る
階層化システム(Layered System)は,ソフトウェアのメンテナンス性の最大の敵である結合性を回避するための基本的なアーキテクチャスタイルである。"ポートとアダプタ"あるいはヘキサゴナルアーキテクチャは,そのようなアーキテクチャの一例だ。Ian Cooper氏がアーキテクチャスタイル,特にヘキサゴナルアーキテクチャに関して,プレゼンテーションの中で説明している。
-
複雑度を測定してソフトウェア品質を改善する
ソフトウェア複雑度はソフトウェアの品質とコストの直接的な指標だ。コードの複雑度が高ければ、そのコードの品質は低くなり、それを管理するコストは高くなる。複雑度の測定は、開発とテストのための見積もりや、品質向上と問題防止のためにリファクタリングが必要なところの判断に使うことができる。
-
ドメイン駆動設計とオニオンアーキテクチャ
ドメイン駆動設計(DDD/Domain-Driven Design)とオニオンアーキテクチャを数年前から使い始めたWade Waldron氏は,このコンビネーションによってコード品質が劇的に向上したと考えている。最初はDDDを使い始めたのだが,オニオンアーキテクチャと併用することで,コードがもっと読みやすく,理解しやすく,はるかにメンテナンスしやすいものになることに気付いたのだ。
-
テスト容易性のためのシステム設計
テスト容易性(Testability)にはシステムで明示的な設計が必要だ,とSiemens AGのPeter Zimmerer氏はいう。テストアーキテクトはテスト容易性を推進すると同時に,優れた設計とエンジニアリングプラクティスを採用するためにシステムアーキテクトや設計者,テスタともコラボレートしなければならない。氏はQA&Test 2014カンファレンスで,組み込みソフトウェアにおけるテスト容易性の設計についてのチュートリアルを実施した。
-
モノのインターネットをテストする
組み込みソフトウエアやモノのインターネット関連のシステムをテストするには、物理的、知覚的、感情的なインタラクションが関係する、とGerie Owen氏は言う。氏はNortheast Utilitiesのビジネスソリューションアナリストを務めている。InfoQはGerie Owen氏とGerie Owen氏にモノのインターネットや組み込みソフトウエアのテストはどのように特異なのか、テスト担当者の経験や予測の活用について話を聞いた。