Model-View-Controller (MVC): N-tier Separation of Concerns
Most current distributed design architectures incorporate 3 distinct layers – Presentation (View), Controller (ASPX C# or VB.NET code-behind pages), and Model (Business Logic Layer - BLL and Data Access Layer - DAL). This Object-Oriented paradigm does not utilize the full capabilities of the new Visual Studio 2008 and .NET Framework 3.0/3.5 capabilities, but for OOP purists, this has been the n-tier, distributed programming methodology for over 20 years.
The Business Logic Layer (BLL) classes perform business rule data validation, assignment of properties, and data manipulation of fields fetched from the database through the data access layer (DAL). These model classes route the view data from the controllers to the business domain DAL classes. Of course, Internet or intranet services do not require a controller nor a view since a service would not have any view or UI layer events to handle. The domain BLL classes encapsulate business rules, policies, workflows, processes, functionalities, operations, methods, objects, properties, and other entities necessary to meet business and functional requirements.