درس نهم: مقدمات طراحی ماشین حساب گرافیکی

07 اردیبهشت 1399
pyqt09

مقدمات طراحی ماشین حساب گرافیکی

در این بخش قرار است یک ماشین حساب گرافیکی با استفاده از الگوی طراحی Model-View-Controller (مدل نمایش کنترلگر) بسازیم.

این الگو دارای سه لایه از کد (هرکدام با قوانین مختلف) می باشد:

  1. model: منطق بیزینس (در برنامه نویسی کامپیوتر قسمتی از برنامه می باشد که قوانین بیزینس در دنیای واقعی را به صورت کد درمی آورد که نحوه ی ایجاد، ذخیره و تغییر داده ها را مشخص می کند) برنامه را نگهداری می کند و شامل عملکرد و داده های سطح هسته می باشد. در مورد ماشین حساب شما مدل محاسبات برنامه را اداره خواهد کرد.
  2. view: رابط گرافیکی برنامه تان را پیاده سازی می کند و میزبان تمام ویجت هایی است که کاربر نهایی نیاز به تعامل با آن ها را دارد. لایه ی نمایش همچنین فعالیت ها و رویدادهای کاربران را دریافت می کند. در مورد ماشین حساب شما لایه نمایش همان پنجره ای خواهد بود که بر روی صفحه نمایش خواهید دید.
  3. controller: لایه ی مدل و نمایش را بهم پیوند میزند تا برنامه ایجاد گردد. درخواست ها یا رویدادهای کاربر برای این لایه ارسال می گردند که لایه ی مدل را به کار وادارد. زمانیکه لایه مدل، نتیجه یا داده ی درخواست شده را در قالب درست تحویل می دهد، لایه کنترلگر آن را به لایه نمایش هدایت می کند. در مورد ماشین حساب، کنترلگر رویدادهای کاربر را از رابط گرافیکی گرفته و انجام عملیات محاسباتی را از لایه ی مدل درخواست خواهد کرد و سپس رابط گرافیکی را با استفاده از نتایج به روز رسانی می کند.

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

  1. کاربر یک فعالیت یا درخواستی (رویداد) را در لایه نمایش ایجاد می کند (رابط گرافیکی)
  2. لایه ی نمایش، لایه ی کنترلگر را از فعالیت کاربر آگاه می سازد.
  3. کنترلگر درخواست کاربر را گرفته و از لایه ی مدل درخواست پاسخگویی می کند.
  4. لایه مدل، درخواست کنترلگر را پردازش کرده و عملیات لازم را انجام می دهد سپس نتیجه یا جواب را بازمی گرداند.
  5. کنترلگر پاسخ لایه ی مدل را دریافت کرده و مطابق با آن لایه ی نمایش را به روزرسانی می کند.
  6. در نهایت کاربر نتیجه ی عمل را در لایه ی نمایش می بیند.

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


منبع: سایت Real Python

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری ساخت ماشین حساب گرافیکی با PyQt توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.