Search code examples
.netinterfacebll

Organize objects in a BLL


What is the most common way to organize objects in a Business Object Layer?

For Example, I've worked with a BLL with that took this approach:

  • Common Folder - contains static utility files
  • Interfaces Folder - All Interfaces
  • Dal - Data Access Objects
  • Services - Objects that access Services
  • Project Root - Contains the business objects

I've also seen Interfaces mixed in business objects, and BLL projects that have objects in model and Library folders.


Solution

  • It is far better to arrange them in logical groups though. Your Business logic might have many sections and file pertaining to a specific section should be in the same section.

    e.g. say Discounts, you might have a service which can calculate discounts, at the same time you might have objects which yield discount information. It would be better to put all of them in one folder.