私は、Java でかなり大きなキューイング手順をシミュレートする学術プロジェクトに取り組んでいます。シミュレーターのコアは、8 つのクラスが存在する 1 つのパッケージ内にあり、それぞれが 1 つのコンセプトを実装しています。プロジェクト内のすべてのクラスは SRP に従います。これらのクラスは、シミュレーターの動作をカプセル化し、プロジェクト内の他のすべてのクラスを相互接続します。
発生した問題は、これらの 8 つのクラスのほとんどが、私が論理的に考えているように、密接に結合されており、必要に応じてメソッドを呼び出すことができるようにするために、このパッケージ内の他のすべてのクラスの実用的な知識が必要であるということです。アプリケーションは各クラスのインスタンスを 1 つしか必要としないため、パッケージ内の他のすべてのクラスの参照を各クラスで保持するのではなく、新しいクラスの各クラスに静的フィールドを作成し、それを使用して呼び出しを行う方がよい場合があります (それは間違っていると確信しています)-しかし、これは正しい設計ソリューションと見なされますか? または、私のニーズにより適したデザインパターンがありますか?