In the last chapter, we saw how layers nicely separated the application code into logical partitions. Now Breaking them further into separate physical assemblies will introduce some slight complexity, and to handle that we need to follow some design patterns.
At the simplest level, this is how we can segregate the application to have the following four tiers:
Presentation tier: client-side browser
UI tier: Web project having ASPX/ASCX, code-behind files
Data access and business logic tier: in a separate class library project
Data tier: the physical database
Note that in our first step to moving from a standard 3-tier web based application to 4-tier architecture, we are separating the DAL and BL code from the main web application into its own assembly. In a later section of this chapter, we will see how we can separate the DAL and BL into different assemblies.
To separate the BL and DAL code from logical layers (in the last chapter) to physical assemblies, we first need to follow...