InfoQ ホームページ 設計 に関するすべてのコンテンツ
-
Visual Studio 2008向けMicrosoft Enterprise Library 4.0がリリース
マイクロソフトはVisual Studio 2008向けのEnterprise Library 4.0バージョンをリリースしたが、依存性注入コンテナであるUnity 1.1アプリケーションブロックも同時リリースした。
-
Rails Cells: Railsのコンポーネント指向開発
Rails Cellsの目的は、コンポーネント指向開発の利点を、Ruby on Railsのウェブアプリケーションプラットフォームにもたらすことだ。Cellは、結合したビューを備えた軽量コントローラの一種であり、ビューをウェブサイトに組み込むことが可能だ(SmalltalkのウェブアプリケーションフレームワークSeasideと似ている)
-
議論: アーキテクチャの書き直しは避けるべきか?
ソフトウェアを新しい需要や要件に適合させることが困難になるほど、アーキテクチャを更新するためにソフトウェアを再構築するという誘惑は強くなる。その取り組みはむしろリスクが高く、適切な戦略を採用することが不可欠である。
-
単純なデザインの導入
extremeprogramming Yahoo!グループで単純な��ザインについての討論がおこなわれており、すでに有益な提言がなされている。インクリメンタルデザインに関するリファレンスの話題から、インクリメンタルデザインを導入する方法について討論が進んだ。
-
Interview: Coplien氏とMartin氏、TDDとCDDそしてプロフェッショナルの定義について大いに語る。
JAOO '07 で「今時、ユニットテストを実施してないコードを納品するのは無責任な開発者だ」というBob Martin氏の主張について、議論が起こった。このInfoQビデオは、BobとJim Coplien氏がこれに関連する話や、いくつかの他の話題について議論する様子を納めたものだ。
-
Microsoftがフレームワークの依存性注入を受け入れ
Microsoftの新たなApplication Framework Coreチームが.NETコアフレームワークで、Naming and Activation Services、Dependency InjectionおよびDuck Typingの技法を採用し始めた。
-
マイクロソフトのUnity Dependency Injection Application Block、リリースされる
マイクロソフトのpatterns & practicesグループは、UnityもしくはUnity Application Blockと呼ばれる依存性注入コンテナをリリースした。開発者はこの軽量コンテナを使い、拡張可能な疎結合アプリケーションを作成できるようになった。
-
-
ドメイン特化言語は英語のように書くべきではない
良いドメイン特化言語 (DSL) とは、プログラマ以外でも読むことができる英語のようなものだと広く言われている。Dave Thomas氏は、DSLは自然言語にできる限り近づくものではないと主張し、そのような考え方に反対する。 さらに、これをDSL設計の指針とすることがむしろ有害であると主張する。
-
新たなThinサーバアーキテクチャーおよびSOFEAワーキンググループのWebサイトの立ち上げ
Peter Svensson氏、Ganesh Prasad氏およびMario Valente氏が共同してThin Server Architecture Working Groupを結成し、グループのWebサイトを立ち上げた。サイトの内容としてはThin Server Architecture (TSA)およびService Oriented Front End Applications (SOFEA)についてのリソース、またそのテクノロジーの背景にある理念も含まれる。
-
テストと復元性をめぐる議論: オブジェクト指向 vs. 関数型プログラミング言語
Michael Feathers氏の最新の投稿をめぐり、ブログのコミュニティ上で活発な議論が行われた。Feathers氏は、オブジェクト指向プログラミング言語に組み込まれた機能を使うと、テストが容易に行うことができ、コードの復元性を簡単に高めることができると主張した。
-
TerracottaによるPOJOメッセージングアーキテクチャ
Mark Turansky氏は、彼独自のTerracottaとJava 5を使用した、POJOメッセージバスアーキテクチャの実装の詳細(source)を明らかにした。Mark氏は、POJOメッセージバスを作成するのに、MQまたはJMSベースの配置を使用するのではなく、Terracottaアーキテクチャを利用している。これにより、彼のメッセージが必要とする、簡潔であり、単純であり、さらに安価であるインフラストラクチャソリューションが可能となった。この経緯の一部が、以下のように述べられている。
-
差別化したUX:新生のUI設計傾向を示すものなのか
差別化したUX(差別化したユーザエクスペリエンス)は、VistaとWindows Presentation Foundation(WPF)が提供する新しい利点/機能として初めて導入された。それ以降、この用語には明確な定義はなくなった。Brian Noyes氏は最近、コンセプトの背後にある認識の一部を取り除くよう試みた。
-
ドメインドリブンデザインはDIやAOPなしでも十分な実装可能か?
ドメインドリブンデザイン(DDD)はビジネスドメインコンセプトをソフトウェアにマッピングすることだ。これまでDDD実装法の中心はオブジェクト指向プログラミング(OOP)だった。OOPではオブジェクトがビジネスドメインの実体を表し、そのドメインオブジェクトをプレインなJavaクラスやインターフェイスでデザインすることで、継承・カプセル化・ポリモーフィズムといったOOPの考え方を利用できる。
-
継続インテグレーションとデータベースのバージョン管理
原則として、データベースに対する作業は必ずバージョン管理しなければならない、と強く主張した記事を投稿した後で、Scott Allen氏はデータベースのバージョン管理を最大限に利用する手法について詳しく述べている。彼は、ベースラインを作成し、スキーマのリビジョン管理に変更スクリプトを使い、データベースの(ビューやストアドプロシージャ、ファンクション、トリガ等の)プログラムされたオブジェクトを管理し、そしてブランチやマージ処理を利用する、包括的で実用的な手法を紹介している。