2007年07月20日

インターフェイス分離の原則

 インターフェイス分離の原則は、英語ではthe Interface Segregation Principleと言われ、ISPと略されます。

 これは、クライアントに、クライアントが依存しないメソッドへの依存性を強制してはならないという原則です。

 例によって、一見しただけでは意味がよくわかりませんね。
詳しくお話ししてみましょう。

コンテンツ

  1. コミュニケーションの分離
  2. 道具のインターフェイス
  3. 原則の関連
  4. ソフトウェア開発者の方のための追記
  5. オススメ
続きを読む
posted by craftsman at 06:21 | 東京 🌁 | Comment(0) | TrackBack(0) | 原則

2007年07月12日

依存関係逆転の原則

 いよいよ、依存関係逆転の原則のお話です。
ソフトウェア開発と関係のない方には、なにがいよいよなんだかさっぱりおわかりにならないと思いますが、ソフトウェア開発者にとっては、いよいよな話題なんです。

 DI(Dependency Injection)やIoC(Inversion of Control)などで、巷で話題ですね。
SpringやSeasarなど、依存関係逆転の考え方を一歩進めた、依存性注入の機能を持った軽量コンテナのフレームワークがいくつも開発されています。

 これらのフレームワークの意義を理解するためにも、ぜひとも依存性逆転の原則を理解しておきたいところです。

ソフトウェア開発者でない方にとっては、次なる羅針盤の登場です。
オブジェクト思考をまた一歩、深めていきましょう。

コンテンツ

  1. その依存、どっち向き?
  2. チェストの依存関係
  3. 会社の依存関係
  4. ソフトウェア開発者の方のための追記
  5. オススメ
続きを読む
posted by craftsman at 16:52 | 東京 ☔ | Comment(0) | TrackBack(0) | 原則

2007年07月09日

単一責任の原則

単一責任の原則は、英語ではthe Single Responsibility Principleといい、SRPと略されます。

これも、あなたのオブジェクト指向での物事の捉え方が最適かどうかについてのガイドとなるものです。
原則というのは、みんなそうなんですね。

ソフトウェア開発では、この捉え方が最適かどうか(少なくとも、間違っていないこと)というのは、開発の成否を握るほど重大な問題です。
常に意識すると共に、成果物に対してはこれらの原則に照らして妥当性を検証し、随時リファクタリングしていかなければなりません。

コンテンツ

  1. 日常にある例
    1. 役割で分ける
    2. わかりやすくて扱いやすい
  2. ビジネスの場での例
  3. ソフトウェア開発者の方のための追記
  4. オススメ
続きを読む
posted by craftsman at 12:39 | 東京 ☁ | Comment(0) | TrackBack(0) | 原則

2007年07月07日

開放・閉鎖原則

 今回は、開放・閉鎖原則のお話です。
これも、リスコフの置換原則と同じかそれ以上に、ソフトウェア開発者の方には有名な原則ですね。
これも、開発の現場では、みんな知ってるにもかかわらずないがしろにされがちな原則です。

 英語でopen・closed principleですので、OCPと略されたりもします。

 ソフトウェア開発者でない方には、この原則の概念を理解していただきたいと思います。
この原則によって、あなたの生活からストレスが軽減される…かもしれません。
ソフトウェア開発者の方には、この原則の重要性を再認識していただきたいと思います。

コンテンツ

  1. 計画は、細かければ細かいほど失敗しやすい
  2. 例: 旅行計画
  3. オープンでクローズド
  4. オススメ
続きを読む
posted by craftsman at 16:40 | 東京 ☀ | Comment(0) | TrackBack(0) | 原則

2007年07月05日

リスコフの置換原則

 オブジェクト指向ソフトウェア開発者の方ならご存知かと思いますが、オブジェクト指向にはいくつかの原則があります。
それらは、先人達がオブジェクト指向を研究したり実践したりしていく中で、発見されてきたものです。
どれも、オブジェクト指向を正しく利用するためには非常に重要なことですので、順次解説していきます。

 今回は、リスコフの置換原則のお話です。
英語で言うと"the Liskov Substitution Principle"ということで、LSPと略されたりします。

さてさて、今回はどっちかというと、開発者の方のための話が多めです。

コンテンツ

  1. 例えれば職能
  2. あなたの羅針盤
  3. ソフトウェア開発者のための追記
    1. 契約
    2. 犯罪者
    3. ポリモーフィズムの羅針盤
    4. オススメ
続きを読む
posted by craftsman at 17:54 | 東京 🌁 | Comment(2) | TrackBack(0) | 原則
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。