この質問をする別の方法は次のとおりです。Inversion of Controlとは何ですか?OO言語固有のInversion of Controlですか?
IoCのWikipediaの記事が非OOの説明でハイジャックされたため、私はこの質問をします。これは、2007年からdiscussion pageから取られているされています。以前の内容が完全にせせらぎ無意味な「オブジェクト指向」によって引き継がれたよう
は、私は、完全にページを書き換えるために自由を取った...
Inversion of ControlがどのようにOO言語の外で意味を持つのかわかりません。手続き型言語(イベントプログラミングは1つ)で制御を放棄することについての多くの説明が既にあり、純粋に関数型言語は高次関数を持っているので、Inversion of Controlのような概念は必要ありません。
また、Martin FowlerがIoCについて詳述しているarticleでは、OOの例を排他的に扱います。
したがって、IoCはOOの概念だけであり、正確には何ですか?
私にとって、IoCはほとんどのOO言語が課す制限内で関数をデータに変換しようとし、それらの関数をデータとして引数として他の関数に渡そうとします。これはIoCの唯一の部分ではありませんが、その一部があります。
また、オブジェクトのツリーが渡される前に構築および構成されている工場設計パターンもあります。
私にとっては、IoCはOOの概念です。
あなたの回答は何ですか?
リッチタイプのシステムで使用する方が簡単だということに完全に同意します。ファーストクラスの市民としての機能により、それはもっと簡単になります。 – xtofl