تبلیغات

مفهوم Middleware در برنامه‌نویسی چیست؟! (میان افزار)

مفهوم Middleware در برنامه‌نویسی چیست؟! (میان افزار)

Middleware، یکی از مفاهیم پرکاربردی است که احتمالا در فریمورک‌های متعددی از جمله «لاراول»، آن را دیده‌اید. این واژه در فرهنگستان فارسی، به معنای «میان افزار» بوده و برای شاخه‌ی رایانه و فناوری اطلاعات، این چنین تعریف شده است:

نرم‌افزار یا مجموعۀ نرم‌افزارهایی که همچون واسطه بین اجزای مختلف دو یا چند نرم‌افزار کاربردی عمل می‌کند

تعریف بسیار ساده و خلاصه‌ای است که باعث پیچیده شدن درک آن می‌شود. گوگل نیز این واژه را این چنین تعریف می‌کند:

نرم‌افزاری که مانند پلی عمل می‌کند، و این پل بین یک سیستم‌عامل (یا دیتابییس) و اپلیکیشن قرار دارد؛ مخصوصا در یک شبکه.

ولی خب این تعاریف یعنی چه؟!

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

این مثال ساده‌ای از اصطلاح میان افزار بود؛ و همچنین اکثر فریمورک‌ها مثل «لاراول» و «Slim»، امکان تعریف کدی به عنوان میان افزار را به سادگی در اختیار توسعه‌دهندگان قرار می‌دهند. در ادامه چند مورد از کارهایی که می‌توان به عنوان Middlewaare (میان افزار) برای سیستم طراحی کرد، نوشته شده‌اند:

  • مدیریت کوکی‌ها و سِشِن‌ها
  • بررسی حالت تعمیر سایت
  • بررسی ورودی‌های کاربر و تغییر آن‌ها و سپس ادامه کار
  • ریدایرکت و انتقال کاربر به صفحه دیگر
  • تغییر محتوای صفحه
  • توقف اجرای سیستم
نکته
می‌توان زنجیره‌ای از قطعات میان افزاری مختلف را پشت سرهم نوشته و برای مسیرهای مختلفی تعریف کرد.
تبلیغات
0
کانال تلگرام فول کده
تبلیغات

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

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک گذاری اطلاعات در هر زمینه‌ای / برنامه‌نویس و دانشجوی ارشد رشته شبیه‌ساز هوشمند - در حال نوشتن یه رمان (اگه خدا بخواد و تموم شه ?)

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه