BT

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

寄稿

Topics

地域を選ぶ

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

  • 差別化したUX:新生のUI設計傾向を示すものなのか

    差別化したUX(差別化したユーザエクスペリエンス)は、VistaとWindows Presentation Foundation(WPF)が提供する新しい利点/機能として初めて導入された。それ以降、この用語には明確な定義はなくなった。Brian Noyes氏は最近、コンセプトの背後にある認識の一部を取り除くよう試みた。

  • ドメインドリブンデザインはDIやAOPなしでも十分な実装可能か?

    ドメインドリブンデザイン(DDD)はビジネスドメインコンセプトをソフトウェアにマッピングすることだ。これまでDDD実装法の中心はオブジェクト指向プログラミング(OOP)だった。OOPではオブジェクトがビジネスドメインの実体を表し、そのドメインオブジェクトをプレインなJavaクラスやインターフェイスでデザインすることで、継承・カプセル化・ポリモーフィズムといったOOPの考え方を利用できる。

  • 継続インテグレーションとデータベースのバージョン管理

    原則として、データベースに対する作業は必ずバージョン管理しなければならない、と強く主張した記事を投稿した後で、Scott Allen氏はデータベースのバージョン管理を最大限に利用する手法について詳しく述べている。彼は、ベースラインを作成し、スキーマのリビジョン管理に変更スクリプトを使い、データベースの(ビューやストアドプロシージャ、ファンクション、トリガ等の)プログラムされたオブジェクトを管理し、そしてブランチやマージ処理を利用する、包括的で実用的な手法を紹介している。

  • TDD/BDDは不完全なユニットテストを招くか?

    Peter Ritchie氏は、TDDやBDDにこだわることで、良いユニットテストを書かなくなる傾向があるのではないか、という懸念を表明した。特に「インタラクションテスト(interaction testing)」というマントラは、不完全なユニットテスト、すなわち、どのような条件下で利用されても稼働するユニット(オブジェクト)である、という証明ができていないテストをもたらすと述べている。Peter氏の考えで最も興味深いのは、TDDとBDDのそもそもの意図に対する反対意見と受け取れるところだ。

  • フレームワーク設計に言語はどのように影響を及ぼすか

    Rubyのような特定の言語は、Javaのような他言語よりも、より生産的なフレームワークに役立つか。

  • 依存性注入: 新しい考え方だろうか、それともしっかりした基盤だろうか?

    Spring等の依存性注入フレームワークは、疎結合化やユニットテストの改善、アーキテクチャの整理といった点で、本当に多くの開発者に効果をもたらした。アーキテクトとして技術の歴史を知っておくことは、それが一番うまく当てはまる状況や制限、そして今後の方向性を正しく理解するために有益である。

  • スタートアップ企業のLovely ChartsがFlexアプリケーション構築の見識を語る

    Webスタートアップ企業のLovely Charts は制限付きのベータリリースを先日発表した。同社のサイトはAdobe Flexを使って作られている。InfoQはLovely Chartsの設立者で首席アーキテクトのJerome Cordiez氏と話し、FlexベースのLovely Chartsのサイトがどのように構築されたかについて見識を得た。

  • C# 3.0 Cookbookが出版

    O'Reilly社がベストセラーであるC# 3.0 Cookbookの第3版を出版した。その本はC#3.0と.NET3.5プラットフォーム用にアップデートされている。それにはプログラマ達が日々直面している問題へのレシピが250以上も掲載されている。

  • Article: SOAの10原則

    Stefan Tilkov氏が、多くのお客様と関わる中で、SOAの基本的な原則をまとめる必要性を感じています。本記事では、サービス指向アーキテクチャ(SOA)が持つとされる基本原則を紹介します。これらの原則は、絶対的な真理というよりは、SOAに関連した検討を行う際の基準の1つと考えてください。最初の4つは、Don Boxの4つの原則に、個人的な解釈を少し加えて紹介します。

  • プラットフォームの知識ではなくて、多様なデザインスキルを好む

    Martin Fowler氏は自身の最新の記事において、チームの構築において一番大切なのは経験でも特定のプラットフォームとビジネスドメインに関する完全なる知識ではなく、むしろ高品質なソフトウェア、また価値をもたらすことができる多様なスキルであると述べている。

  • ケーススタディ:JavaプログラミングスキルをFlexに採用

    Adobe Flex Developer Centerで掲載された記事において、Bill Bejeck氏はFlexを用いたコンポーネントの作成、またFlexでのコンポーネントの分け方における自身の経験をJavaデベロッパという立場から述べている。

  • コードは自然言語に近づくにつれ良くなっていくのか?

    英語ライクなコードを書くことで可読性と表現性を達成しようとするのは、今日の業界において一つのトレンドとなっている。 Michael Feathers氏はコードの表現性を向上させるための道具になり得る他の代替案を考慮するのを擁護しており、また彼はいくつかの状況においてシンボリックアプローチはナラティブのものよりも適切であることを論じ、その2者間でのトレードオフを強調している。

  • 生産性第一主義によって余儀なく下された決断:原因、巻き添え、限界

    ソフトウェアプロジェクトにかかわる多数の決断は、生産性が第一に考慮される。プロジェクトが成功し、その市場が成長し、ドメイン知識とクライアントニーズの両方で複雑さが増している場合、特にその傾向が強くなる。適用範囲が予期せぬ転換になる可能性は高く、プロダクトにはカスタマイゼーションが益々必要になる。

  • オピニオン: リファクタリングは必要な無駄

    リファクタリングは、アジャイル開発者のツールキットにおいて、キーとなる技術的なプラクティスの一つだ。リファクタリングはまた、顧客にとっての価値としては目立ったものではない。それはまさしく、リファクタリングの定義自体によるものだ - 振舞いを変えずに、構造 (設計) の変更を行う、と言うものだ。リーン・ソフトウェア開発の世界では、顧客にとっての価値を持たないものは全て無駄であり、そして、顧客は振舞い/機能だけを知覚する。構造ではない。

  • プライベートメソッド、テスト駆動開発と優れたデザイン

    テスト駆動の開発(TDD)が優れたデザインを促進するという主張が成された。TDDがアーキテクチャとデザインに悪影響を及ぼすという主張も成された。抽象性を論じるよりもそれは少し具体性を加えるので私達はプライベートメソッドと優れたデザインとテスト容易性とその関係性に重点を置くことにした。これは明らかな矛盾の一例である。

BT