معرفی معماری چند لایه (N-Tier Architecture)
درود به تمامی برنامه نویسهای گرامی
همینطور که میدونید برنامه نویس باید یک چیزی بیشتر از کد نویسی یاد داشته باشه و بتونه مطالب بیشتری رو در پروژش از یک کد ساده به کار ببره . لایه بندی برنامه یکی از این مواردی هست که به نرم افزار شما ساختار میده و باعث میشه مدیریت و ارتقا نرم افزار در آینده و همینطور در زمان طراحی راحتر انجام بشه.
ابتدا اولین سوالی که مطرح هست ، اینکه ساختار(معماری) چند لایه چیست ؟؟
ساختار چند لایه به ساختار نرم افزارهایی اطلاق میشه که دارای سه لایه (یا قسمت) منطقی باشند که جدا از هم هستند . هر لایه فقط مستقیما با لایه پایین تر از خودش کار میکنه که هر لایه مسئول وظایف خاصی هست .
چرا ما از ساختار چند لایه استفاده میکنیم ؟
بدلیل اینکه در این نوع ساختار ، تمام وظایف بین لایه های مربوط تقسیم شده و هر لایه وظیفه مربوط به خودش رو انجام میده و نیازی نیست که تغییراتی رو در لایه های دیگه ایجاد کنه یا هر دفعه تمام لایه ها کامپایل بشه ، برای مثال در ASP.NET ، باعث میشه تا هر لایه در سروری جدا اجرا بشه بدون اینکه تمام حجم کار روی یک سرور باشه .
نکته :تفاوت N-Layer و N-Tier : در بعضی از منابع تفاوتی بین این دو ذکر نشده است، اما در بعضی این دو مفهوم رو مستقل از هم میدونستند ، که من خدمت شما عرض میکنم ::
N-Tier به این معناست که کد یا پروسه در کجا اجرا بشه که منظور همون محل فیزیکی هست ، اما منظور از N-Layerاین هست که کد به چه صورت منطقی دسته بندی(گروه بندی) شده است .
در اکثر مواقع معماری چند لایه دارای سه لایه هست که به صورت زیر نام گذاری می شوند ::
· لایه نمایش (Presentation Layer)
· لایه تجاری (Business Layer)
· لایه دسترسی به منابع داده (Data Access Layer)
1. لایه نمایش (Presentation Layer) یا (Interface Layer)
این لایه وظیفه داره تا با استفاده از لایه تجاری (Business Layer) اشیا رو نمایش بده ، برای مثال در ASP.NET صفحه های aspx یا کنترلهای سرورو از این قبیل موارد ، یا در برنامه های ویندوزی فرمهای ویندوز (Windows Form) این وظیفه رو دارند .
2. لایه تجاری (Business Layer)
این لایه وظیفه داره که اطلاعات رو از لایه داده (Data Layer) بگیره ، به روز کنه یا پاک کنه و در بعد اونها رو در لایه اینترفیس نمایش بده . برای مثال اشیای SqlClient یا oledb داده های رو میگیرند یا پاک میکنند یا به روز میکنند و .. ، در بعد اونها رو بوسیله اشیایی مانند Datareader یا DataSet نمایش میدهند .
قبل از اینکه به سراغ مورد آخر بریم ، نکته ای در مورد این لایه هست که نیاز میبینم اشاره ای کنم :
در اکثر مواقع این لایه به دو لایه تقسیم میشود :
1 – لایه منطقی تجاری (Business Logic Layer)
2- لایه دسترسی داده (Data Access Layer)
3. لایه داده (Data Layer)
این لایه شامل منبع داده (Data Source) شما میشود . مانند SQL Server یا هر نوع منبع داده دیگه مانند XML . البته ناگفته نمونه که sql سریعترین بانک اطلاعاتی هست با پلتفرم دات نت .
تفاوت بین لایه منطقی (Logical Layer) و لایه فیزیکی (Physical Layer)
اکثر افراد بین این دو مفهوم گیج میشند ، به همین جهت نیاز دیدم تا به این دو مفهوم هم اشاره ای بشه:
لایه منطقی به لایه ای می گویند که از نظر اسمبلی و کلاسها تقسیم شده باشد اما از نظر مکان در یکجا باشد.برای مثال در یک وب سایت کلاسها تقسیم شده هست اما همه بر روی یک سرور قرار دارند .لایه فیزیکی به این معنا هست که کلاسها و به طور کلی لایه های دیگر در جاهای مختلف هست و البته کدهایی هم برای ارتباط لایه ها در آنها قرار داده شده است ، برای مثال در لایه های یک وب سایت بر روی چند سرور قرار گرفته است و برای ارتباط اونها از وب سرویسها (Web Service)یا .. استفاده میکنیم.
جدا کردن لایه از نظر فیزیکی باعث افت سرعت لود برنامه یا وبسایت شما میشود ، بدلیل اینکه مقداری از منابع برنامه صرف ارتباط بین لایه ها میشود ، پس سعی کنید از نظر فیزیکی لایه های برنامه، در یک جا قرار بگیرند . همچنین هزینه تولید به مراتب افزایش پیدا میکند ، بدلیل اینکه شما به منابع بیشتری (سرور در برنامه وب) نیاز دارید و یا به سخت افزارهای بیشتری نیاز دارید و از قبیل موارد .
خب ، به اخر این مقاله رسیدیم ، امیدوارم که این مختصر مطالب براتون مفید بوده باشه ، البته این مبحثی نیست که با چند صفحه به اتمام برسه ولی خب ، برای شروع خوبه ، امیدوارم در پستهای بعدی بتونم مطالب بیشتری رو از این موضوع برای شما بذارم . و مورد آخر اینکه من به شخصه اصلا دوست ندارم اصطلاحات برنامه نویسی به فارسی برگردونده بشه ، چون معتقدم برنامه نویس باید کلمه زبان اصلی رو درک کنه ، ولی خب چاره ای نیست ، چون خیلی از دوستان در معنای مفاهیم مشکل دارند و من هم مجبورم این کار رو بکنم . در انتها براتون فایل PDF این آموزش رو هم گذاشتم تا بتونید این مطلب رو به راحتی به اشتراک بگذارید .
موفق باشید .
مطالب مشابه :
معماری 3 لایه
برنامه نویسی و طراحی وب حرفه ای - معماری 3 لایه - C#, ASP.NET, SQL, AJAX, JQuery, WPF, MVVM, 3-Tier, Java Script, HTML,
برنامه نویسی سه لایه
برنامه نویسی سه لایه شما حتی می توانید با برنامه نویسی یک دیتاست بسازید و آن را با داده
آموزش تصویری ساخت تصویر صورت با موهای آتشین در فتوشاپ
برنامه نویسی سپس 3 لایه Adjustment بالای لایه زمین ایجاد کنید. بصورت زیر Black And White. Levels.
معرفی معماری چند لایه (N-Tier Architecture)
3. لایه داده (Data Layer) این لایه شامل منبع داده (Data Source) شما میشود . مانند SQL Server یا هر نوع منبع
آموزش تصویری ساخت متن 3 بعدی در زیر آب با فتوشاپ
برنامه نویسی گزارش گیری با کریستال ریپورت با کد نویسی و برنامه نویسی سه لایه
فیلم فارسی آموزش برنامه نویسی سه لایه در سی شارپ (با تکنولوژی ADO.Net)
|بخش دانلود | دانلود فیلم فارسی آموزش برنامه نویسی سه لایه در سی شارپ (55.2mb) با لینک مستقیم
آموزش تصویری افکت های هولوگرافی در فتوشاپ
آموزش - برنامه نویسی لایه مدل را 2 بار Duplicate کنید. پس شما 3 تا لایه مدل خواهید داشت.
برنامه چند لایه چیست؟
مزیت های برنامه های چند لایه شما حتی می توانید با برنامه نویسی یک دیتاست بسازید و آن را با
برچسب :
برنامه نویسی 3 لایه