در مهندسی نرم افزار، معماری چند لایه (که عموما از آن تحت معماری N-Tier یاد می‌شود) یا معماری مشتری و سرور است که در آن، پردازش برنامه و عملکردهای مدیریت داده از نظر فیزیکی از هم جدا می‌شوند.

معماری برنامه Native مدلی را فراهم می‌کند که توسعه‌دهندگان می‌توانند برنامه‌های انعطاف‌پذیر و قابل استفاده مجدد ایجاد کنند. با جدا کردن یک برنامه در ردیف‌ها، توسعه‌دهندگان به جای اصلاح مجدد کل برنامه، می‌توانند گزینه تغییر یا اضافه کردن یک لایه خاص را بدست آورند.

معماری سه لایه معمولاً از یک ردیف ارائه، یک لایه منطق دامنه و یک لایه ذخیره اطلاعات تشکیل شده است. در حالی که مفهوم لایه معمولاً به صورت متقابل مورد استفاده قرار می‌گیرد، یک دیدگاه نسبتاً مشترک این است که در حقیقت تفاوت وجود دارد. این دیدگاه معتقد است که یک لایه مکانیزم ساختار منطقی برای عناصر سازنده نرم افزار است، در حالی که یک لایه مکانیسم ساختار فیزیکی برای زیر ساخت‌های سیستم است. به عنوان مثال، یک معماری سه لایه به راحتی می‌تواند در یک ردیف به صورت واحد مانند مرکز کاری خصوصی مستقر شود.