マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

IoC

  • IoC: Inversion of Control
  • 制御の反転

IoCとは?

  • 個別の目的のために書かれたコード部分が、一般的で再利用可能なライブラリによるフロー制御を受ける形の設計。
  • 伝統的な手続き型プログラミングと比べると制御の方向が反転しているため、「制御の反転」と呼ばれる。

設計目的

  • あるタスクの実行を実装から分離する。
    • モジュールを置き換える際の副作用を予防する。
  • あるモジュールを、目的とするタスクだけに集中させる。
    • 仮定しながらのコーディングから解放し、
      契約に依拠してコーディングさせる(契約プログラミング)。

ユースケース

デザインパターンの例

  • ソフトウェアフレームワーク
  • コールバック
  • スケジューラ
  • イベントループ
  • 依存性の注入(DI)

詳細

技法

オブジェクト指向プログラミングやその他のプログラミング・パラダイムにて応用される。

OOPでの技法

オブジェクト指向プログラミングにおける幾つかの基本的な技法

  • 主要な技法
  • テンプレート・メソッド・パターン
    簡単。派生クラスでメソッドをオーバーライドする。
  • その他の技法
  • Factoryパターン
    • サービス(オブジェクト)の取得を抽象化するパターン
    • 内部に Template Method パターンを包含することが多い。
  • ストラテジー・パターン
    • アルゴリズム差し替えるためのパターン
    • 継承に依る多態、委譲や関数ポインタに依るリフレクションのパターンがある。
  • サービスロケータ・パターン > 文脈化された参照
    • インターフェイスと実装の対をコレクションに保存、必要なときに取り出して利用。
    • Factory パターンに似ているが、必ずしも毎回インスタンスを生成するとは限らない。

他パラダイムでの技法

その他のプログラミング・パラダイムにおける幾つかの基本的な技法

  • ・・・

依存性反転原則

依存性反転原則とは関係しているが異なる。

参考

Wikipedia

関連

AOP

DI

デザイン・パターン


Tags: :プログラミング, :.NET開発


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-09 (木) 08:55:03 (132d)