>>Why is the application class holding database properties? What you're wanting to do is called tight-coupling is not a good idea as it makes one class rely too much on the other.
>>
>I see. Do you suggest to not have database a property of the application class but rather main class use both classes independently? I still want to have a reference to either one or 2 classes, so I can pass invoke information around.
I think what you are looking for is something like this:
public class Application
{
private DataBase dataBase;
public Application()
{
dataBase = new DataBase(this);
}
}
public class DataBase
{
private Application application;
public DataBase(Application app)
{
application = app;
}
}
But, in general I agree with Craig. For this type of thing you should be using something like Prism or MEF....