.:: محمدحسین فخرآوری ::.

با سلام و خسته نباشید به شما دوست عزیز به قسمت موضوعات وبلاگ مراجعه کنید. 09173700916

معماری 3لایه(3Layer) در طراحی وب

وقتی صحبت از معماری 3 لایه میشه یعنی اینکه پروژه شما باید به 3لایه یا 3بخش تقسیم بندی بشه
لایه اول:InterFace Layer
لایه دوم:Business Logic Layer
لایه سوم:Data Acess Layer
درسته که ظاهرا کد نویسی زیاد میشه ولی در عوض کد ها بخش بندی و از هم جدا میشه که مزیت های زیادی داره مثلا هروقت که کار با پایگاه داده دارین سریعا به لایع سوم میرین و ...
اما توضیح کلی راجب لایه ها :
وقتی که داده ها از سمت کاربر ارسال می شه این داده ها به لایه دوم منتقل می شه.کار لایه دوم چک کردن مقادیر،و... هست
زمانی که داده ها از هر جهت "تمییز" و "سازگار" بودن به لایه سوم برای ذخیره در پایگاه داده منتقل میشه
این کلیت معماری 3لایه در طراحی وب سایت هستش
برای درک بیشتر و آسون تر با مثالی از Asp.Net این معماری رو توضیح میدم 

فرض کنید یه پروژه نوشتین که دارای جدولی به نام MyUser هستش که اطلاعات کاربران در آن ذخیره میشه و دارای فیلد های Name,PassWord,...هستش و یه صفحه برای پروژتون طراحی کردین برای ثبت نام کاربران.
خوب چون جدول MyUser رو دارین باید یه کلاس به نام MyUser بسازید که دارای فیلد های این جدول باشه
(به طور کلی در معماری 3لایه برای هر جدول باید یه کلاس بسازید)
که من شبه کد های #C رو اینجا قرار میدم


Public Class MyUser

{

Private int _Id;

Private string_name;

Private string _Password;

public int Id

{

set{_Id=value;}

get{return _Id;}

}

public string  Name

{

set{_name=value;}

get{return _name;}

}

public string  PassWord

{

set{_Password=value;}

get{return _Password;}

}

}

حالا 2کلاس دیگه به نام هایBLL برای لایه دوم و DAL برای لایه سوم بسازید

Public Class BLL

{

DAL d;

public void RegisterBLL(string name,string pass)

{

d = new DAL();

MyUser m = new Myuser();

m.Name = name;

m.PassWord= Hash(pass);

d.RegisterDAL(m);

}

}

Public Class DAL

{

public void RegisterDAL(Myuser temp)

{

//وارد نمودن اطلاعات در دیتا بیس

}

}

 

 

 

وقتی کاربری به صفحه ثبت نام مراجعه میکنه و اطلاعات رو وارد میکنه، اطلاعات از صفحه (لایه اول) گرفته شده و برای لایه دوم(BLL) ارسال میشه

BLL bll = new BLL();

bll.RegisterBLL(name,Pass)

لایه دوم اطلاعات رو چک می کنه .مثلا این کاربر قبلا ثبت نام کرده یا خیر یا در این مثال بالا در لایه دوم پسورد کاربر هش شده سپس برای لایه سوم اطلاعات رو ارسال میکنه و در نهایت اطلاعات در دیتا بیس ذخیره میشه

هیچ نگران نباشین آخه هیچ مطلب مهم و تکنیکالی پشت این معماری نیس و کلیتش همون بود که گفتم

امیدوارم این پست بتونه کمک تون کرده باشه

(و یه نصیحت دوستانه اینکه از تکنولوژی Linq برای برقراری ارتباط با پایگاه داده استفاده کنین دیگه نیازی به نوشتن

کلاس های مربوط به جدول های دیتا بیس نیس آخه Linq خودش از جداول و Store Procedure ها کلاس میسازه و معماری 3لایه خیلی آسون تر پیاده سازی میشه)

محمدحسین فخرآوری ، یکشنبه ۱۳۹۲/۰۶/۲۴ ، 18:42