I'm designing application with three-tier model (UI-server-DB) application, which includes 8 to 10 features. The application uses the following model: - The database and business logic will be in a .net based server application and UI will be in a WPF application. The communication between WPF UI app and Server app will be using WCF services.
Basically I'm looking for design ideas for the Data Access Layer which will be in the server application using ORM library from LLBLGen Pro.
Approach 1:
•Create a common database class library in the server application which includes the all the entity classes and datamapping classes. Individual features will reference this common class library
Approach 2:
•Create individual db class library for each of the feature service ( 8 to 9 services) and entity classes and datamapping classes will be in this library. So individual feature is more modular and less depends on other features in the application.
So looking for the modularity, scalability and maintainability of the application, what would be a good design approach??