شنبه 27 دی 1399 | Saturday 16 th of January 2021 صفحه اصلی گروه الکترونیکی کامپیوتر
3-1- معماری سه لایه

در معماری چند لایه تمام برنامه به چندین لایه تقسیم می شود. این لایه ها می توانند فیزیکی یا منطقی باشند. هر لایه کار خاصی را انجام می دهد مثلا نمایش واسط گرافیکی کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :

  1. لایه نمایش[1]
  2. لایه منطق[2]
  3. لایه دسترسی به داده[3]

این سه لایه هر کدام وظایف جداگانه و خاص خود را دارند، اما این لایه ها با یکدیگر در ارتباط هستند و لایه منطق، واسط لایه دسترسی به داده ها و لایه نمایش می باشد، به عبارت دیگر لایه نمایش نباید به صورت مستقیم با لایه دسترسی به داده ها ارتباط برقرار کند.


 

اکنون به صورت مختصر به شرح هر لایه می پردازیم:

همان طور که احتمالا حدس زده اید، لایه نمایشچیزی نیست به جز بخشی از نرم افزار که با کاربر برنامه شما ارتباط برقرار می کند ( واسط گرافیکی کاربر برنامه شماست ) نمایش داده ها به کاربر نهایی و اجازه به انان برای ارتباط داشتن با داده ها، اصلی ترین وظیفه این لایه است.

در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه منطقاست.

در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت پایگاه داده های رابطه ای یا RDBMSو یا XML, .. ) این وظیفه توسط لایه دسترسی به داده انجام  می شود.

به طور خلاصه، فرایند مورد نظر ما این گونه کار می کند:

  • کاربر نیاز یا مشکل خود را از طریق لایه نمایش ارائه می کند.
  • لایه منطق اطلاعات را از لایه نمایش دریافت و انها را به اطلاعات قابل فهم برای لایه دسترسی به داده جهت ذخیره و بازیابی تبدیل می کند.
  • لایه دسترسی به داده، داده های مورد نظر را بازیابی می کند و از طریق لایه منطق ان ها را به لایه نمایش می فرستد.
  • لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه منطق دریافت می کند.
  • کاربر داده ها را تغییر می دهد و عمل مناسب در مورد ان ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها ).
  •  لایه منطق صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند).
  •  اگر داده ها معتبر باشند ان ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

مزیت های برنامه های چند لایه

  • برنامه ها به چند لایه منطقی جدا از هم تقسیم می شوند و اتصال میان UI( رابط کاربری ) ، پردازش ها و بانک اطلاعاتی کم می شود.
  • تغییر در بانک اطلاعاتی یا روال های دسترسی به داده ها تأثیری در لایه نمایش یا برنامه کلاینت نخواهد گذاشت.
  •  برنامه کلاینت با عبارات SQLامیخته نخواهد شد.
  •  نام جداول و ستون ها به طور موثری از برنامه کلاینت حذف می شوند.
  • برنامه کلاینت نمی فهمد که داده ها از کجا امده اند ( چیزی که به ان location transparencyگفته می شود ).
  •  تغییر یا گسترش برنامه بسیار ساده تر خواهد شد، بدون نیاز به تغییر یا کامپایل مجدد برنامه کلاینت.
  • تغییر زمینه کاربرد در حداقل زمان مثلا برنامه تحت ویندوزبه برنامه تحت وب تبدیل شود.

نکته منفی در معماری چند لایه این است که شما باید تعداد زیادی بخش ها و کلاس های از هم جدا در نرم افزار بسازید. اما به هر حال مزایای این روش بیشتر و برتر از معایب ان است.

 


[1]PresentationLayer

[2]BusinessLogicLayer

[3]DataAccessLayer 

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26