Hi All,
This may not be at all possible but I thought I'd get your responses before we gave up the Idea.
We have 3 main projects all in one Solution: Interface, Logic, and Data Access. The Data Access Project contains all the Object Classes with their variables and methods. The Logic Project contains classes that hold logic methods and also 2 classes that deal with the saving and loading of objects from the Data Access Project. The Interface project is the User interface and any classes and methods that need to be in here / don't need to be in the logic layer.
We intended to keep a clear separation and keep a communication of Interface --> Logic --> Data Access and back the same way. This is all fine but unfortunately for the Interface to understand the Data Access Class Object being passed back through with its values we obviously need to add a reference to the Data Access Project in the Interface Project.
Hopefully I haven't lost anyone already?
Now obviously we are fine with allowing the Interface to read the values from the Data Access Project but we do not want the interface Project calling any methods as these are all handled through the Logic Layer in specific ways. I know this is only a design time problem but is there anyway that we can set the methods to not be callable from certain projects?We don't want to capture what project is calling the method at runtime as this is too late.
This may sound like an overkill question but since my colleague and I may not be the only developers working on this after it is released to the company we want any other developers to follow the strict guidelines and structure of the solution and projects. We could write it all down and try to make sure that they read it before working on the application but as we all know if you're urgently asked to work on something there is no guarantee that you'll have time to read another developers Technical specification about the application first.
If you need any more information to come up with any solutions please ask away.
Many Thanks all,
Louis Russell