BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ 設計 に関するすべてのコンテンツ

  • オブジェクト指向プログラミング:より良いデザインのために動詞・名詞のメタファーを超えて考える

    オブジェクト指向のプログラミングにおいて、オブジェクトは従来的にオブジェクトのメソッドとして実装され、そのビヘイビアを決定するアクションと結合されている。Reg Braithwaite氏はいくつかのケースにおいてその二つを分離させることに関連していることを述べている。またBuko Obele氏は通常オブジェクト指向のデザインに使用されている動詞・名詞メタファーを超えて考慮し、OOPへの従来的なアプローチを問うている。

  • デメテルの法則を守るRailsプラグイン

    デメテルの法則又は最小限の知識原則は、ソフトウェア開発における設計のガイドラインである。これら二つの法則の基本的な概念は、与えられたオブジェクトは、サブコンポーネントを含め、構造、プロパティ、他のオブジェクトの振舞いに関して出来るだけ責務を負うべきではないということである。 Luke Redpath氏は、モックとスタブを使用してUnit Testsを書いているとき、デメテルの法則違反に出くわした。

  • ディベート: 何故ほとんどの大規模webサイトはJavaで構築されないのか?

    GigaSpacesのNati Shalom氏は、最近何故ほとんどの大規模なwebサイトがJavaで構築されていないのかという疑問を投げかけている。この疑問はJava Communityで大変大きな議論を引き起こし、InfoQはそれに関する見解を探るための機会を設けた。

  • サービス指向アーキテクチャ (SOA) へのテクノロジー非依存アプローチ: SOA の原点に戻る

    サービス指向アーキテクチャ (SOA) は、エンタープライズソフトウェア開発の主流の1つとなりつつある。しかし、Dan North氏によれば、SOAの採用をこれまで決定してきたのは、「SOA の複雑性を強調した上で、タイムリーに、利益になるソリューションを提供する」ことに関心を寄せるソフトウェアベンダである。結果として、多くの SOA アーキテクトが行う決定はテクノロジーに関する考慮事項に左右され、SOA という手法の真髄である、コアビジネスシナリオのマッピングとモデリングに焦点をあてることができていない。

  • LiquiBaseがDiff、Eclipseプラグイン、また更なるデータベースのサポートを搭載

    データベースリファクタリング、移行ツールであるLiquiBaseにとって今年は多忙な一年となりそうだ。テストコンテキスト、30のリファクタリング、4つの共通リレーショナルデータベース、分散開発、自動ロールバックのサポートと共に行われた6月の1.0バージョンリリースの勢いに乗り、新たに二つのマイナーリリースとポイントリリースが発表された。

  • スレッドを用いた作業ユニットの混乱

    ほとんどのサーバ側のアプリケーションとデスクトップアプリケーションは進行中である特定のタスクに結びついているデータを含んでいる。一般的なソリューションはそれらのデータをThreadLocalストレージに保存することだ。つまり、進行中のスレッドに結びついた変数内のデータに保存するということだ。これは便利な方法なのだが、誤った仮説に基づいている。

  • Rubinius GemstoneのOODBがJRubyとRubiniusをサポート

    GemstoneはJRubyに始まりObject Database製品用のRubyサポート制作に取り掛かっている。私たちは今後の見通しとその技術的詳細を知るためGemstoneのAlan McKean氏に尋ねた。

  • 並列処理に対応したプログラミング – 並列階層のパターン

    マルチコアプロセッサの登場によって、新しいパフォーマンスのチャンスが生まれる。しかし、Ina Fried氏によると、「現在のソフトウェアの大半はそのような進歩に対応できるようになっていない」ため、このハードウェアの動向はソフトウェア業界にとって大きな課題であるとのことである。このような状況下で、メキシコ国立自治大学数学部の Jorge L. Ortega-Arjona教授によって、並列プログラミングに対応した新しい設計パターンが導入された。このパターンは、以下の場合に実行パフォーマンスの向上を試みるものである。

  • 多数のブラウザのテストが一度に可能

    Browsershotsと呼ばれる新しいプロジェクトは、Webデザイナーが自身が作成したサイトが、多数のブラウザと一般的な効果(JavaScriptやFlashなど)を持ったプラットフォームの中で、どのように見えるのかを見ることが出来るものである。

  • Javaからチェック例外を除外する

    Neal Gafter氏は、多くのJava開発者が自問しまた互いに質問する、「言語やプラットフォームはチェック例外を無くせば、もっと良くなるのでは?」という質問を問いかけた。

  • アプリケーションのモジュール化のためのOSGi - ある企業の設計選択

    OSGi は、Java ベースのサービスプラットフォームの仕様であり、長時間実行、動的更新、および実行環境への配布を最小限に抑えることを必要とするシステムでの使用を目的としている。これまでの説明の多くは、ツールベンダ (Eclipse が最初)、およびアプリケーションサーバーベンダ (IBM、BEA、Oracle) による OSGi の採用に関するものだった。

  • LiquiBaseでデータベースマイグレーションとリファクタリング

    ソフトウェアの開発に使用されるプロセスやツールは、相互に関連がある中で、データベースの開発の世界は、未だに、Java、.NET、Rubyに見られる現代風のIDEやアジャイルプロセス、そしてビルドツールから、大きな影響を受けていない。時に、このことによって1つのソフトウェアプロジェクトで、 (ソフトウェア開発とデータベース開発の)2つのチームの人たちが使用したり、1つのチームで2つの役割を担うときでさえ、プロセスとツールの間にミスマッチが発生する。

  • Guice と Spring JavaConfig ~アノテーションを利用したIoCの2つのアプローチ

    現在、Guiceの初リリースから暫く期間が経ったので、Spring IoC、特にSpring JavaConfigとの比較が有効になった。GuiceとSpring JavaConfigは、IoCの設定をJavaのアノテーションを利用してコードに埋め込む際の異なったアプローチを提供している。

  • Guice(ジュース)~高速で軽量なDIコンテナ

    Java5の新しいオープンソースDIフレームワークであるGuiceのバージョン1.0がリリースされた。Guiceは、アノテーション駆動でSpringと異なり軽量なフレームワークを提供し、一貫した特徴がある。

  • マイクロソフト社はSOA4思想を捨てる?

    マイクロソフト社のHaryy Pierson(a.k.a.DevHawk)はマイクロソフト社製のSOAに関する4つの思想を捨て去るべきだということを述べている。というのもHarry氏の意見としてそれにはもう実用性がないということだ-少なくとも今はもう役に立たないのだ。

BT