I am just building a MVC .NET application, eventually this will use entity framework and the repository pattern to structure the program. The first release however will only be calling other jobs that run reports.
For this I was going to make the interface iReport of which another project (that can call Matlab) will implement and this way I have abstracted this report and can take away Matlab and replace it if need be with another system that can produce the report in question.
My question therefore is, presuming this is a good architecture, how to structure this, where to put this interface? Do I simply put it in a separate folder on the web app project?
This seems like a simple question but I tend to struggle with project layout as I want to make sure it is correct.