The goal of the DAL is to create classes that expose methods that enable the business layer to retrieve or persist data to the database. The DAL should not communicate directly with the user interface, although it is tempting when you can easily bind DataSets and DataReaders to a GridView or other bound controls. The diagram shown in Figure 2-1 demonstrates a typical three-layered architecture. The user interface layer is the layer that interacts with the user. This could be via a web browser, a Windows Forms application, a mobile application, and so on.
Figure 2.1. Figure 2-1
The business logic layer (BLL) contains the brains ...