Reputation: 1147
I've this schema actually, 3 projects in the same solution :
IHM (MVC4) (Reference to BLL Projects)
BLL (Reference to DAL Projects)
Users
Tools
Project_1
Project_2
DAL
Users
QueryUsers.cs
Tools
Project_1
Project_2
But I think, I'm in a wrong way because if my project become very huge, it will be difficult to keep a stable website.
I'd like to use this schema : 1 Project and Add Assembly(DLL) Reference :
IHM (MVC4)
And Create another Solution : For example : Users
In this "Users" Project, I Create 2 sub folders : Core - DAL
Project Users
Core (Definition of what is a user for me)
DAL
QueryUsers.cs (Get data in Database)
And when I finish this project, in my IHM, I just add an assembly reference.
Questions (same questions) : Where can I put all of the DLL that I'll create? Because some DLL like "Users" will be use in other projects. But i don't want to duplicate my "Users" assembly... how can I do that? What do you think about my choice?
Upvotes: 0
Views: 130
Reputation: 82096
The design you have the moment is perfectly fine, the way I see it you have a nice layered architecture i.e.
Not sure what you mean by
But I think, I'm in a wrong way because if my project become very huge, it will be difficult to keep a stable website.
In what way do you think it will become unstable? It sounds to me that attempting to create a separate DLL just for your User
classes is complete overkill. If you need organisation within a specific layer then use folders/namespaces.
Stick with your original design, you have a nice clean separation of concerns and will cope perfectly fine as your system grows.
Where can I put all of the DLL that I'll create?
Given they are going to be shared across multiple applications, consider storing them in the GAC.
Upvotes: 1