Tout en divisant mon application C# en couches, j'ai résolu le problème de la dépendance circulaire entre les couches de la manière suivante:Impossible d'obtenir des données de la couche DA. Que faire?
using System;
using System.Collections.Generic;
using System.Text;
using SolvingCircularDependency.Common;
using SolvingCircularDependency.DA;
namespace SolvingCircularDependency.BO
{
public class MyClass : IPersistent
{
private string _message;
public string Message
{
get { return _message; }
set { _message = value; }
}
public bool Save()
{
return MyClassDA.Save(this);
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace SolvingCircularDependency.Common
{
public interface IPersistent
{
bool Save();
string Message { get;}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using SolvingCircularDependency.Common;
namespace SolvingCircularDependency.DA
{
public class MyClassDA
{
public static bool Save(IPersistent obj)
{
Console.WriteLine(obj.Message);
return true;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using SolvingCircularDependency.BO;
namespace SolvingCircularDependency.UI
{
class Program
{
static void Main(string[] args)
{
MyClass myobj = new MyClass();
myobj.Message = "Goodbye Circular Dependency!";
myobj.Save();
Console.ReadLine();
}
}
}
S'il vous plaît jeter un oeil à la MyClassDA de classe dans la couche DA et l'assemblée elle-même.
Comment une méthode MyDA.Get() peut renvoyer des objets de type MyClass lorsque la couche d'accès aux données ne connaît pas le type MyClass.
Si ce design n'est pas efficace, Comment puis-je le changer/le modifier?
C'est une question incroyablement mal formulée. J'ai lu ton autre post mais je n'ai aucune idée de ce que tu cherches. Pouvez-vous le reformuler en précisant votre problème plus spécifiquement? –
Moi aussi, je n'ai aucune idée de ce que vous demandez. Quel est le code censé représenter? Je ne vois pas de classe UserDA nulle part. Que signifie "les instances d'interface ne peuvent pas être des choses avec des données récupérées par un SqlDataReader"? –
Dans quelle partie rencontrez-vous un problème? Ne savez-vous pas comment accéder aux données? –