Click here to Skip to main content
13,356,318 members (68,081 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as


31 bookmarked
Posted 27 Nov 2011

N-Tier: Begginer's guide in designing their application

, 25 Dec 2011
Rate this:
Please Sign up or sign in to vote.
A great way to design your own application is to use the N-tier architecture.

This is just a simple tip that I will share and it is for you to check out.

Note: The following layers are exposed as different projects under one solution.

Object Layer: Create a class with properties:
public class Person
   public string Firstname {get;set;}
   public string Lastname {get;set;}
   public int Age {get;set;}

Data Access Layer: The layer that interacts with database:

public sealed class PersonDAL
   Person person = new Person();
   public static int GetAge(string firstname, string lastname)
         SQLConnection sqlcon = new SQLConnection(ConfigurationManager
         SQLCommand sqlcmd = new SQLCommand("SELECT age FROM Person_tb WHERE
                               firstname=@firstname AND lastname=@lastname",
         sqlcmd.CommandType = CommandType.CommandText;
         sqlcmd.Parameters.AddWithValue("@firstname", firstname);
         sqlcmd.Parameters.AddWithValue("@lastname", lastname);
         int retval = (int)sqlcmd.ExecuteScalar();
      catch(Exception ex)
         //Log ex
         sqlcon = null;

Business Logic Layer: The layer that serves as bridge for DAL and Application Layer:

public sealed class PersonBLL
   public static int GetAge(string firstname, string lastname)
      return PersonDAL.GetAge(firstname, lastname);

Application/Presentation Layer: The layer where users input data:

Person person = new Person();
person.Firstname = "Eduard";
person.Lastname = "Lu";

string firstname = person.Firstname;
string lastname = person.Lastname;

txtAge.Text = PersonBLL.GetAge(firstname, lastname).ToString();

There are still a lot of ways to optimize this one. You can add more layers which your application might be needing. For example, add a Utilities Layer wherein you can place your configuration/settings and your error/transaction logger. In my example, you can create a function that will return the connection string for your application to communicate with your database server.

Also, creating stored procedure is better than using command text. In my example, I used command text just to show you my query.

Message me if you have concerns. :)


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

You may also be interested in...


Comments and Discussions

GeneralRe: Good article btw, now voted Pin
Reiss28-Nov-11 22:54
memberReiss28-Nov-11 22:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180111.1 | Last Updated 25 Dec 2011
Article Copyright 2011 by Eduard Lu
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid