J'ai essayé d'en savoir plus sur l'architecture propre de l'oncle Bob à partir de blogs, d'articles et de vidéos.Architecture propre: flux de séquence entre les cadres
Si j'utilisais une base de données dans cette architecture, alors qu'est-ce que l'interface utilisateur (en tant que framework tel que le web ou le formulaire) devrait connaître sur la base de données? Ou plus généralement, comment les données doivent-elles circuler entre deux ou plusieurs pièces/pièces situées dans la même couche? Par exemple, l'interface utilisateur communiquerait avec mes adaptateur (s)/passerelle (s) pour interagir avec les entités commerciales. Pour lire/écrire, je peux voir que l'interface utilisateur pourrait appeler n'importe quelle classe/classes qui peuvent accéder à la base de données et passer dans les adaptateurs/passerelle (s), de sorte qu'il puisse interagir avec les entités commerciales.
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
}
Un grand nombre des articles varient à peine hors de celui-ci (https://subvisual.co/blog/posts/20-clean-architecture). Je n'ai pas trouvé un bon article qui couvre comment les morceaux qui sont dans la même couche devraient fonctionner les uns avec les autres. Donc, les articles qui se réfèrent à cela seraient une réponse acceptable. Cela ne semble pas enfreindre la règle de dépendance, mais il semble que je ne fais pas quelque chose de bien, puisque je fais une dépendance entre mon interface utilisateur et la base de données. Je crois que je suis peut-être trop penser le concept, et je crois qu'il peut être de marteler à apprendre l'architecture à trois niveaux (UI -> BLL -> DAL).