もう今更感があるのですが
書きます。
どうしても、この図が先行するのですが
これにとらわれると、多分立ちいかなくなります
良い俯瞰図であるけども、ここからは、本質は見えないです
依存非依存から入ってしまうと、手が動かなくなります。
まずは、DIのお話から
DIというのはDependency injection、依存性の注入というソフトウェアパターンです。
本質的にオブジェクト指向が前提なので、そうではない言語ではやめておいたほうが良いです
もう一つ
手組のコードでDIをするのは、きついです。
先ず、何らかの、DIフレームワークを使いましょう
クリーンアーキテクチャーのDIはコンストラクターでのインジェクションが基本なので、そのあたりも考慮に入れておきます
で、インジェクションに関しては、必ず、インターフェースで受けるというところも大切です。
ここで、しっかりと、実クラス同士の依存性を切っておきましょう。
基本的に、データクラスと、ロジックのあるクラスも分けておきます。
データークラスは、プレーンなオブジェクト
ロジックのクラスは、インターフェースで抽象化、
後は、レイヤーをネームスペースとか、フォルダー構成で分けておれば、それっぽく仕上がります。
C#だと、フレームワークのServiceCollectionクラスのでサクッと書けるし、.net mvc coreに至っては最初からDIフレームワークを内包しているので。
最初から、全部だとつらいのですが、少し頑張って、ロジックとデータのクラスを分けて、ロジックのクラスはDI、データクラスはプレーンオブジェクト「C#の場合はPOCOという」で始めてみてはいかがでしょう?
