Portekoi
Portekoi

Reputation: 1147

Which architecture I need for use my own DLL in multiple projects?

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

Answers (1)

James
James

Reputation: 82096

The design you have the moment is perfectly fine, the way I see it you have a nice layered architecture i.e.

  • Presentation Layer (IHM)
  • Business Layer (BLL)
  • Persistence Layer (DAL)

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

Related Questions