When I was optimizing my architecture of our applications in our website, I came to a problem that I don't know the best solution for.
Now at the moment we have a small dll based on this structure:
Database <-> DAL <-> BLL
the Dal uses Business Objects to pass to the BLL that will pass it to the applications that uses this dll.
Only the BLL is public so any application that includes this dll, can see the bll.
In the beginning, this was a good solution for our company. But when we are adding more and more applications on that Dll, the bigger the Bll is getting. Now we dont want that some applications can see Bll-logic from other applications.
Now I don't know what the best solution is for that.
The first thing I thought was, move and separate the bll to other dll's which i can include in my application. But then must the Dal be public, so the other dll's can get the data... and that I seems like a good solution.
My other solution, is just to separate the bll in different namespaces, and just include only the namespaces you need in the applications. But in this solution, you can get directly access to other bll's if you want.
So I'm asking for your opinions.