自分のプログラミング スキルと習慣を 21 世紀に持ち込もうとする自主的な取り組み (Pascal と Fortran から C# と C++ への移行) で、入手可能なソース コードをかなりの量研究してきました。私が判断できる限り、クラスは一意の「スタンドアロン」エンティティです (関数の先祖によく似ています)。
ただし、1 つ以上のクラスが別のクラス内にネストされている多くのインスタンスに出くわしました。この点に関する私の「本能」は、そうするのは単に非常に貧弱な方法論によるものであるということですが、私はまだそのような決定を真に行うための最新の OOP 方法論に十分慣れていません。
したがって、次の重複する質問:
あるクラスを別のクラスにネストする正当な理由はありますか? もしそうなら、各クラスが完全に独立しているのとは対照的に、そうすることの理論的根拠は何ですか?
(注: 私が見た例では C# を使用していますが、この側面は C++ にも同様に当てはまるようです。)