Ho 2 classi con dipendenze.
public class AuditManager
{
//set of methods
public static AuditManager Singleton= new AuditManager();
public int AuditEvent(int x){
Event event=new Event(x);
event.SaveToDB();
}
}
Inoltre ho una classe:
public class Event
{
int x;
//set of methods
public Event (int x)
{
this.x=x;
}
public User getUserOfEvent(int eventId){
User usr = Respository.Get(eventId);
Audit.Singleton.AuditEvent(usr.x); //circular dependency between Audit and event
return usr;
}
public int SaveToDB()
{
new EventDal(){id=x}.Save(); //EventDal is used a lot in more Entity-type classes
}
}
Come vedi Audit usa classi come Event (responsabili della rappresentazione del modello) E inoltre, alcune azioni nel modello dovrebbero essere controllate.
Qual è il modo migliore per rimuovere queste dipendenze circolari?