Recently we fitted a 4-Tier Architecture in our project composed by the following four main layers :
- User Interface Layer.
- Data Access Layer.
- Domain Layer.
- Business Layer.
All the layers fulfill their usual roles in 4-Tier Architecture and interact which each one in the usual way. We use SVN to maintain our CVS.
My problem is that we have many inexperienced programmers developing in a well formed architecture, and we have to be checking all the time the code to find violations of the architecture.
For example:
- Sometimes include access to database in the User Interface Layer and not in the Business Layer which is where interact with the Data Access layer to read or save data in the database.
Problems like the above occurs all the time. My question is:
How to check the code before the programmers can submit his new changes to the repository and report violations of the architecture? How to avoid doing this manually?