Azerbaijani | English | Persian | Turkish

دسته بندی وبلاگ

امتیاز رایگان ،عضویت آسان
شارژ مستقیم ایرانسل
گلچینی از بهترین محصولات کشور
15,000 تومن‌ هدیه برا خرید اول
معماری سه لایه چیست؟

معماری سه لایه چیست؟

مفهوم معماری سه لایه

    در سیستم های مهندسی و نرم افزاری برای غلبه آمدن بر پیچیدگی، کل سیستم به چند زیر سیستم ( Sub System) تقسیم می‌شود. در حین طراحی هر Sub system , ارتباط آن با سایر قسمت‌های سیستم نیز در نظر گرفته می‌شود و در نهایت این مجموعه به صورت یک مجموعه واحد در نظر می‌گیرند.

معماری چند لایه : n-Tier
به طور کلی در معماری چند لایه ، هر لایه T ، سرویس‌هایی را از لایه قبلی خودش T-1 دریافت و سرویس هایی را به لایه ی بعدی خودش یعنی T+1 ارائه می دهد.
 
معماری سه لایه :

یکی از انواع معماری های چند لایه معماری سه لایه ( Three Tier ) است. ایده بوجود آمدن معماری سه لایه بعد از به وجود آمدن Web Page های Dynamic بود.
در این معماری Object های نرم افزار در سه لایه طراحی می شوند .
بخش ها یا لایه های اصلی نرم افزار در این معماری عبارتند از :
 1 – Presentation Layer (یا همان لایه Interface نرم افزار):
      فرمها، واسط ها، منوها و هر چیزی که برای کاربر قابل رویت باشد، در نرم افزارهای تجاری و کاربردی همگی در لایه نمایش( Presentation)  قرار می گیرند. این لایه در ارتباط با کاربر بوده و  حاوی عناصر User Interface (رابط گرافیکی کاربر) و شامل تمامی منطق حکم فرما در نحوه ی ارتباط کاربر با اجزای سایت می باشد. لایه نمایش، بخشی از سایت است که کاربران می توانند آنرا مشاهده کرده و با استفاده از عناصر آن، از امکانات سایت استفاده کنند. بنابراین طراحی صحیح و اصولی این بخش تاثیر بسزایی در موفقیت وب سایت خواهد داشت.
 
2 – Business Logic Layer ( لایه تجاری) که در برگیرنده منطق اصلی برنامه هست .
      در این لایه اعمال اصلی نرم افزار با استفاده از همکاری با لایه های پایین و بالا انجام می شود . در این لایه کارهای مرتبط با DataBase وجود ندارد و این وظایف تماما به لایه Data Access سپرده می شود .
این لایه در ارتباط با تیم برنامه نویسی می باشد .
 
         این لایه که معمولا لایه ی میانی (Middle Tier) نیز نامیده می شود وظیفه ارتباط بین لایه نمایش و لایه داده را بر عهده دارد. کلیه درخواست هایی (Request) که در اثر تعامل کاربر با لایه نمایش ایجاد می شود (به استثنا مواردی که توسط خود لایه نمایش مدیریت می شود، مانند Validation یا اعتبار سنجی فیلدها) به این لایه ارسال و نتیجه حاصل از پردازش، بر اساس منطق تعیین شده در این لایه، مجددا به لایه نمایش برگردانده و در آنجا به کاربر نمایش داده می شود.
در بیشتر مواقع لایه منطق برای پاسخگویی به درخواست های لایه نمایش باید با لایه داده ها ارتباط برقرار کند. به بیان ساده تر، مثلا زمانی که کاربر عملیات جستجو در محصولات را در سایت انجام می دهد، لایه نمایش به لایه منطق می گوید: “محصولاتی که نام آنها با این کلمات تطابق دارد را برای من ارسال کن”. در این هنگام لایه منطق کلمات ارسال شده از لایه نمایش را به لایه داده ها می دهد و نتایج جستجو را از آن تحویل می گیرد و مجددا به لایه نمایش ارسال می نماید .
 
3 – Data Access Layer : ( لایه ی دسترسی به داده ها ) :  پایین ترین لایه   و البته مهمترین لایه در معماری سه لایه می باشد.
این لایه در ارتباط با تیم مدیریتی و تیم برنامه نویسی می باشد.
 لایه DAL وظیفه مدیریت اطلاعات موجود در دیتابیس را بر عهده دارد و بر اساس دستوراتی که لایه Business به آن می دهد، اطلاعاتی را در دیتابیس اضافه، حذف، ویرایش و یا جستجو می کند و نتیجه این اعمال را به Business Tier باز می گرداند.
 
مزایای معماری سه لایه :
 استقلال قسمت های مختلف پروژه از یکدیگر 
تغییر زمینه کاربرد در حداقل زمان … مثلا برنامه از Win App به Web App تبدیل شود یا DataBase برنامه را می توان به راحتی تغییر داد .
مدیریت بهتر و  راحت تر پروژه
 
معایب معماری سه لایه :
معمولا ازمعماری سه لایه نمی توان برای پروژه های کوچک استفاده کرد . (به علت حجم زیاد فایلها در این معماری) .
کارایی ( Performance  )  برنامه در معماری سه لایه تا حدودی پایین است. چون ارتباطات لایه ها در این معماری زیاد است .
 

نظرات برای این نوشته

عثمان


متن نظر :

ممنون، فیض بردیم ...


zina


متن نظر :

با سلام

ممنون از توضیحات مبسوط و کاملتون ولی از اونجا که من تازه با این مبحث آشنا شدم می شه بگید موقع برنامه نویسی چطوری لایه ها تعریف می شن یعنی مثلا توی سی شارپ باید پروژه ی دیگه ایجاد کرد بعنوان لایه های دیگه یا نه کلا منظور از لایه ها به صورت منطقی هست. ممنون از اطلاعاتتون



رهبر


متن نظر :

واقعاً   ممنون از راهنمایی بسیار عالی تون.

Smile