بررسی دقیق برنامه نویسی سه لایه

چهارشنبه 31 مرداد 1397

برنامه نویسی سه لایه به سه بخش مجزا تقسیم می شود و هر بخش دارای وظیفه مخصوص به خود است. مزایای برنامه نویسی سه لایه بسیار زیاد است.

 بررسی دقیق برنامه نویسی سه لایه

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

بررسی لایه presentation در برنامه نویسی سه لایه

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

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

برنامه هایی که به صورت فرمی هستند می توانند المان های رابط کاربری بسیار غنی را به کاربر پیشنهاد دهد. وجود کنترل هایی مثل دیتاپرید، دیتالیست و همینطور تقویم سبب می شود که رابط کاربری قدرتمند شده و البته با مقدار کمی کد همراه باشد.

لایه business در برنامه نویسی سه لایه

در نظر داشته باشید که وقتی داده ای از سوی کاربر اعلام می شود، نیاز به اعتبار سنجی دارد و این کار توسط لایه دوم صورت می پذیرد. این لایه دارای چندین بخش است، در واقع بخش اعتبار سنجی جداگانه از گردش کار فعالیت می کند و بخشی نیز برای بررسی امور کاربر در نظر گرفته شده است. برای طراحی این لایه نیاز به کامپوننت های دات نت است و البته بر روی کارآیی نیز بسیار تأثیرگذار خواهد بود. تمامی وب سرویس های asp.net می توانند خود به عنوان لایه business عمل کنند اما باید در نظر داشته باشید که در هر شرایطی نمی توانید از آن به عنوان جایگزین کامپوننت ها استفاده کنید. وب سرویس ها را تنها زمانی می توانید استفاده کنید که فرآیند اعتبارسنجی بیرون از شبکه شما صورت پذیرد.

کامپوننت ها می توانند بر روی چندین ماشین توزیع شود و برای ماندن بر روی ماشین های مشابه نیازی به فرآیند اضافه تر ندارند.

لایه data access در ­برنامه نویسی سه لایه

در نهایت داده های برنامه نیاز به ذخیره دارد و باید برای این کار انبار داده در نظر گرفته شود، این لایه سومین لایه در برنامه نویسی سه لایه محسوب می شود. برای این کار می توان از سیستم مدیریت دایتابیس رابطه ای یا xml استفاده شود.

در نظر داشته باشید در این لایه داده ها دستکاری می شود و می توان داده ها را اضافه، حذف یا به روزرسانی کرد. داده هایی که به آن ها اشاره کردیم در xml قرار می گیرد و باید دسترسی به داده به صورتی امکان پذیر باشد که دیگر لایه ها از وضعیت انبار داده ها بی اطلاع باشند. در این بخش نیز از کامپوننت های دات نت برای تشکیل لایه ها استفاده می شود. در نظر داشته باشید که وب سرویس ها نیز می توانند به لایه ها دسترسی داشته باشند البته این روند برای زمانی است که در واقع دیتابیس شما provider را نداشته باشد. در چنین مواقعی باید مقداری کد برای اتصال به داده ها نوشته شود و همینطور دیتاست ها پر شود.

بنابراین به طور کلی روند برنامه نویسی سه لایه به این صورت است که کاربر درخواست خود برای داده را اعلام می کند، در بخش لایه data access داده های مورد نظر بازیابی می شود و از طریق لایه دوم داده ها وارد لایه نمایش می شود. لایه نمایش اطلاعاتی که نیاز به نمایش دارد را اعلام می کند و کاربر تغییرات خود را اعمال می کند. در نهایت صحت داده توسط لایه دوم بررسی می شود. در صورت معتبر بودن داده های اطلاع در بانک اطلاعاتی ذخیره می شود. برنامه نویسی سه لایه برای پروژه های بزرگ بی نظیر است.

مزیت برنامه نویسی سه لایه

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

در صورتی که در بانک اطلاعاتی تغییری ایجاد شود بر روی لایه های دیگر تأثیری نمی گذارد.

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

جمع بندی

در نظر داشته باشید در تمامی مراحل برنامه نویسی سه لایه، ارسال از یک لایه به لایه دیگر نیاز است. عموماً برنامه نویس ها سعی می کنند از رشته ها و آرایه ها و همینطور رکوردست ها برای این هدف استفاده کنند. در نظر داشته باشید که کاربرد برنامه نویسی سه لایه بسیار بیشتر از معایب آن است. معایب برنامه نویسی سه لایه هرگز نمی تواند سبب منصرف شدن برنامه نویس از انتخاب آن شود. 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید