私はブログ、記事、ビデオからおじさんのクリーンアーキテクチャについてもっと学びたいと思っています。フレームワーク間のクリーンなアーキテクチャ:シーケンスフロー
このアーキテクチャでデータベースを使用する場合、UIについて(Webやフォームなどのフレームワークとして)、データベースについて何を知っていなければなりませんか?または、より一般的には、同じレイヤーにある2つ以上の部品/パーツ間でデータがどのように流れるべきですか?
たとえば、UIはビジネスエンティティと対話するためにアダプタ/ゲートウェイと通信します。読み書きするには、UIがビジネス・エンティティと対話できるように、データベースにアクセスしてアダプタ/ゲートウェイを渡すことができるクラス/クラスをUIが呼び出すことができることがわかります。
public class SomeUI
{
public static void Main(string[] args)
{
SomeAdapter adapter = new SomeAdapter();
SomeDataAccess db = new SomeDataAccess();
db.Save(adapter);
}
}
public class SomeDataAccess
{
public void Save(SomeAdapter adapter)
{
//Interact with database
}
}
public class SomeAdapter
{
//properties
}
多くの記事は、これとはほとんど変わりません(https://subvisual.co/blog/posts/20-clean-architecture)。私は、同じレイヤーにある作品が互いにどのように動作するかをカバーする良い記事は見つけていません。だから、それを参照する記事は受け入れられる答えだろう。
これは依存関係ルールに違反しているようには見えませんが、UIとデータベースの間に依存関係があるため、何か正しいことをしていないようです。私はそのコンセプトを過度に考えているかもしれないと信じています.3層アーキテクチャ(UI→BLL→DAL)を学ぶのが難しいかもしれません。