InfoQ

トピック・タグ別の表示

Object Oriented Designに関するすべてのコンテンツ


Object Oriented Designに関する最新コンテンツ

Eric EvansがDDD(ドメイン駆動設計)を語る

コミュニティ
Architecture
トピック
設計,
モデリング,
Object Oriented Design

2004 年に『Domain-Driven Design(ドメイン駆動設計)』を執筆して以来、Eric Evans はドメインのモデル化と設計コンセプトの進展に大きな影響を与えてきました。今回の Floyd Marinescu とのインタビューでは、『Domain-Driven Design』における最近のいくつかの改良点やこの分野の現在の進展状況について話を伺いました。

Object Oriented Designに関するNews

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

コミュニティ
Agile
トピック
アジャイル技術,
Object Oriented Design,
方法論

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

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

コミュニティ
Agile
トピック
ユニットテスト,
Object Oriented Design

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

Naked Objects に、Java1.5、インジェクション、Hibernate が追加される

コミュニティ
Java,
Architecture
トピック
再利用,
Object Oriented Design

Naked Objects はドメインオブジェクトが中心的役割を担うアプリケーションを開発するためのアーキテクチャパターンでありフレームワークである。Naked Objects アプリケーションにおけるドメインオブジェクトはユーザインターフェースの中心部を形成し、開発作業の焦点である。このNaked Objects が最近バージョン3.0をリリースした。

Qi4jがComposite Oriented Programmingを発表

コミュニティ
Java
トピック
Artifacts & Tools,
アナウンス,
Object Oriented Design

Rickard Oberg氏がOredevにてQi4jを発表し、また”クラスは終わりでインターフェース万歳”と宣言した。Qi4jはビヘイビアがクラスに置かれなく、代わりにクラスがアノテーションを介したクラス上で宣言されたインターフェースとmixinのコンポジットになるコンポジット指向のプログラミングという、新しいアイディアを導入している。

柔軟性、構造安定性のデザイン: 非同期メッセージモデル、OOPとFunctional Programming

コミュニティ
Architecture
トピック
設計,
メッセージング,
モデリング,
パフォーマンス&スケーラビリティ,
Object Oriented Design

Pragmatic Programmersによると、オブジェクト指向のプログラミングにおいては”データを尋ねるよりもむしろオブジェクトに頼む”ほうが好ましいということだ。またFeathers氏は適応性と強固性の向上に役立つかもしれない非同期のメッセージを使用するほうが効率的であることを議論している。これによって純機能的なプログラミングの規則に反しているものの、Erlangが位置づけされる。

Javaデベロッパ用のActionScript Virtual Machineを理解する

コミュニティ
Ruby,
Java,
Architecture
トピック
RIA,
オープンソース,
プログラミング,
リッチクライアント/デスクトップ,
Object Oriented Design

ActionScript Virtual Machine 2(AVM2)はActionScript 3.0(AS3)バイトコードをFlash Player 9ランタイム内で実行する。Action Script 3はオブジェクト指向のプログラミング言語で、Adobe FlexとAIR内でFlashベースのアプリケーションを構築する際に使用されている。

Active Recordパターンを使用中の柔軟性の保持

コミュニティ
Architecture
トピック
設計,
Object Oriented Design

Rails、Hibernate、他のORMツールに使用されているActive Recordパターンはdatabase rowのオブジェクトへのマッピングを許容するデータ持続パターンである。しかしながらこの実用的なツールはBob Martin氏によると混乱の源であるそうだ。 柔軟性を保つにはBob Martin氏はActive Recordをアプリケーションから分離させることを提案しており、そうすることによって後者はオブジェクトの周りで単一でデザイン、また構成することができるのである。

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

コミュニティ
Architecture
トピック
設計,
モデリング,
Object Oriented Design

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