منو

لايه ها

لايه ها:لايه ها
لايه ها
تصویر مسلم ايرانمنش
چرا در برنامه های تحت وب از معماری 3 لایه استفاده می شود؟
توسط مسلم ايرانمنش - جمعه، 1 دي 1391، 11:09 ب.ظ
 

با سلام

چرا در برنامه های تحت وب از معماری 3 لایه جهت ارتباط با پایگاه داده استفاده می شود معایب و مزیت های آن چیست؟

تصویر فاطمه ملكي زاده
پاسخ: چرا در برنامه های تحت وب از معماری 3 لایه استفاده می شود؟
توسط فاطمه ملكي زاده - شنبه، 2 دي 1391، 12:40 ب.ظ
  معماری 3 لایه (3-Tier Architecture):

Data Access Layer
وظیفه این لایه برقراری ارتباط با منابع داده ای خارجی، مثل پایگاه داده می باشد. این لایه شامل یکسری آبجکت های داده ای است که اطلاعات را از منابع داده ای خارجی دریافت و یا به آنها ارسال می کنند.

Business Logic Layer
این لایه همانند یک لایه واسط عمل می کند که اطلاعات را از برنامه دریافت می نماید و به لایه Data ارسال و یا نتایج تولید شده از درخواست های ارسالی را از لایه Data دریافت و به برنامه تحویل می دهد. کلیه قوانین سازمانی و شرایط حاکم بر سیستم در این بخش بررسی و کنترل می شوند.

Application Layer
این لایه همان رابط های کاربری و فرمهایی است که کاربران سیستم با آنها سر و کار دارند.

مزایای استفاده از معماری 3 لایه

1. هر گونه تغییر در لایه Data یا منابع داده ای خارجی موجب می شود تا کمترین آسیب را به لایه های دیگر و ساختار برنامه وارد نماید.
2. بخش بندی برنامه در چندین لایه که باعث کاهش پیچیدگی و حجم کد نویسی می گردد.
3. تغییر، توسعه، نگهداری و پشتیبانی از نرم افزار در آینده به آسانی صورت می گیرد.
4. هر لایه به صورت مستقل عمل می کند و هیچگونه وابستگی بین آنها وجود ندارد.
5. امکان استفاده مجدد از کلاس های هر لایه در پروژه های دیگر
6. تجزیه یک سیستم به چند زیر سیستم و توسعه سریعتر و آسان تر آن
7. لایه Application با عبارات و دستورات پایگاه داده آمیخته نمی گردد
8. قاعده Location Transparency (عدم مداخله و درگیری لایه ها با یکدیگر) حفظ می شود.

معایب استفاده از معماری 3 لایه
1. افزایش حجم کاری و طولانی تر شدن روند تولید و توسعه سیستم
2. کاهش سرعت سیستم در صورت افزایش لایه ها
3. امکان بروز اشتباه در تعیین مرز لایه ها


http://hosseincsharp.mihanblog.com/post/19
تصویر الهام شفيعي نيك ابادي
پاسخ: چرا در برنامه های تحت وب از معماری 3 لایه استفاده می شود؟
توسط الهام شفيعي نيك ابادي - شنبه، 2 دي 1391، 08:50 ب.ظ
  با سلام
معماری سه لایه

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

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

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


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

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

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

تصویر مانيا شيراني
پاسخ: چرا در برنامه های تحت وب از معماری 3 لایه استفاده می شود؟
توسط مانيا شيراني - شنبه، 2 دي 1391، 09:50 ب.ظ
 

با سلام

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

  • Presentation Layer لایه نمایش
  • BLL)Business Logic Layer) لایه منطقی یا تجاری
  • DAL)Data Access Layer ) لایه دسترسی به داده

لایه DAL داده های مورد نظر رابازیابی می کند و از طیق BLL انها رابه لایه نمایش می فرستد.و به عکس کاربر داده ها رو از طریق لایه نمایش تغییر می دهد( مثل اضافه یا به روز کردن داده ها )و BLL داده ها رااعتبار سنجی می کندو اگر داده ها معتبر باشند انها را به DAL می سپارد
مزیت های این کار این است که برنامه ها به چند بخش منطقی جدا از هم تقسیم می شوند و اتصال بین لایه ها کم میشود و به این شکل تغییر در در هر لایه خللی به لایه های دیگر وارد نمی کند و تغییر یا گسترش برنامه بدون نیاز به تغییر یا کامپایل مجدد برنامه کلاینت ساده تر میشود. همینطور اگربخواهیم برنامه تحت ویندوز رو به برنامه تحت وب تبدیل کنیم تنها لایه نمایش عوض میشود. یا اگربخواهیم دیتابیس را از SQLServer ببریم روی Access یا برعکس، فقط لایه DAL عوض میشود. ضمن اینکه برنامه کلاینت نمی فهمد که داده ها از کجا امدند(location transparency).
فایده دیگر این است که درکارهای تیمی، تیم ها یا افراد مستقل میتوانند روی لایه های متفاوت به صورت موازی کار کننند.بدون اینکه از لایه های دیگه اطلاع داشته باشند.
همینطور ازمهمترین مزیت هایی که لایه ای کردن پروژه میتواندداشته باشه افزایش امنیت داده های برنامه است.
اما نکته قابل توجه این است که در سیستم لایه بندی یک لایه نباید لایه بالای خودش رو صدا بزند، همیشه ارتباط از بالا به پایین است و نه از پایین به بالا. مثلا BLL نمیتواند تابعی از لایه نمایش رافراخوانی کند یا تغییری در ان ایجاد نماید

25 نظر

  • محمد زند / 10 صبح / 5 دی 1395, / جواب

    تست

    • محمد زند / 10 صبح / 5 دی 1395, / جواب

      تست

نظر شما در مورد این مطلب چیست؟

به صفحه اول خوش آمدید