Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to implement 3 tiers architecture in c#

I read many articles talk about 3 tiers architecture in c# but i see that:

  • Almost use Bussiness Logic Layer(BLL) as a object mapping corresponding table in database. This BLL object has some methods like these:

    +GetData(): return this;

    +Update(this);

    +Insert(this);

    +Delete(this);

  • This BLL object calls corresponding DAL(Data Access Layer) to execute to corresponding table of database.

  • I think if with above methods, we can oly get a record and update it. But if we have got many records and want to put it into a dataset, how can we update all records changed? Must we use loop for all records to do that?
  • Moreover, in the database, there are many tables related to each other, so how can we put them into dataset, make relations and add, update, delete records like using BindingSource with a Combobox and a DataGridView? And how can we seperate code in this situation?
like image 962
Trần Minh Avatar asked Dec 09 '12 10:12

Trần Minh


People also ask

What is 3-tier architecture with example?

Three-tier architecture is a well-established software application architecture that organizes applications into three logical and physical computing tiers: the presentation tier, or user interface; the application tier, where data is processed; and the data tier, where the data associated with the application is ...


2 Answers

enter image description here

The above describe a very simple architecture of a 3-tier model.

  1. DAL (Data Access Layer) interacts with Database directly, so all the SQL operation are being done within DAL only.
  2. BLL (Business Logic Layer) works like a mediator between DAL and the Presentation Tire.
  3. No direct communication is allowed between DAL and Presentation Layer.
  4. Although there is no physical presence of the Entity Layer, but Entity encapsulates all the information/data and passes it from one layer to the other.
  5. So all the Database object name and the Database Schema is being restricted inside the DAL which gives an extra security layer to the application.
  6. As Business rules/logics are being defined inside BLL, any update to business logic will not impact the DAL and the presentation layer

enter image description here

This diagram describes an actual implementation of a 3-tier model.

  1. Data Access Service and the Database Server can be hosted in single Server.
  2. Mostly SQL Server 2000/2005/2008 or Oracle can be hosted on Windows 2000/2003 Server.
  3. Business Server exposes all the operation through Web Service /Remoting/WCF.
  4. A highly configured server with Windows 2000/2003 can be used to host the Business Service, or else Microsoft BizTalk Server also can be used for this.
  5. Presentation Tier or the Client Consumes the Service exposed at Business Server by using the Proxy through http:// pipeline.
  6. Client can be any standalone machine with the application is being installed in case of Desktop Application (Win-Form or Console Application), or having a Browser to run Web Application.
  7. Data/Information are being encapsulated by entity and transferred from one location to another over network followed by all the network protocol.
like image 59
Moiz Avatar answered Sep 21 '22 16:09

Moiz


There are 2 cool project about three tier architecture in C#.

3-tier architecture in C# and T̶h̶r̶e̶e̶ ̶L̶a̶y̶e̶r̶ ̶A̶r̶c̶h̶i̶t̶e̶c̶t̶u̶r̶e̶ ̶i̶n̶ ̶C̶#̶ ̶.̶N̶E̶T̶. Both projects are amazing specificly for you.

enter image description here

enter image description here

like image 20
Soner Gönül Avatar answered Sep 19 '22 16:09

Soner Gönül