Three-tier Application به اپلیکیشنهایی گفته میشود که سورسکد آنها به ۳ بخش مجزا تقسیمبندی شده و هر بخش عملکرد جداگانهای دارد اما این درحالی است که این ۳ لایه در کنار یکدیگر میتوانند یک اپلیکیشن کاربردی را تشکیل دهند و بهتنهایی کاری از پیش نخواهند برد. این بخشها عبارتند از View ،Model و Controller که بهصورت خلاصه MVC هم نامیده میشوند.
بهطورکلی، لایهٔ View مسئول GUI یا Graphical User Interface (رابط گرافیکی کاربری) است؛ بهعبارت دیگر، این لایه همان بخشی از اپلیکیشن است که کاربران با آن به تعامل میپردازند مثل صفحهٔ لاگین، فرمهای ثبتنام و … که تحتعنوان فرانتاند نیز شناخته میشوند.
Controller نرمافزار هم به بخشی گفته میشود که مسئول هندل کردن ریکوئست (درخواست)های ارسالی از سمت رابط گرافیکی کاربری بهسمت مدل است. این بخش که واسط میان لایهٔ View با Model است، مشخص میسازد که چه دیتایی باید از لایهٔ سوم گرفته شده و تحویل لایهٔ اول گردد.
Model یا Business Logic هم بهمنزلهٔ لایهٔ سوم است که مسئول خواندن/نوشتن دیتا روی دیتابیس، انجام کارهای محاسباتی و بهطورکلی Logic (منطق) نرمافزار است که درخواستها را از لایهٔ میانی -یا همان کنترلر- گرفته و درنهایت نتیجهٔ درخواستها را در اختیارش قرار میدهد تا بهسمت View ارسال شوند.
از جمله مزایای معماری نرمافزاری ۳ لایه میتوان به این نکته اشاره کرد که هر لایه میتواند توسط تیمی مجزا از دولوپرها با زبان برنامهنویسی متمایزی کدنویسی شده و هرگونه تغییر در هر کدام از لایهها به هیچ وجه اختلالی در کار سایر لایهها ایجاد نخواهد کرد.
معماری نرمافزاری ۳ لایه یک معماری مناسب برای توسعهٔ اپلیکیشنهای تجاری بزرگ است چراکه این تضمین به تیم توسعه داده میشود که بسته به نیاز بازار و آپدیتهایی که باید در آینده صورت گیرند، تمامی این تغییرات بهسادگی قابل پیادهسازی هستند.