Italiano
Apri in Telegram

Post 🔶 جنگو

17 dicembre 2024
|
| کانال توسعه‌دهندگان پایتون |
🔶 جنگو 🔶 بخش دوم 🔻 فلسفه معماری MVC فلسفه معماری MVC (Model-View-Controller) براساس تفکیک مسئولیت‌ها در طراحی و توسعه نرم‌افزار است. در گذشته توسعه و پیاده‌سازی بخش‌های مختلف برنامه نظیر بخش رابطه کاربری، مدیریت داده و بخش کنترل‌کننده در یک فایل پیاده سازی میشد و همین موضوع افزایش پیچیدگی، کاهش مقیاس پذیری و سخت شدن توسعه و ترمیم کدها را به همراه داشت و در نتیجه این موضوع سبب شد تا معماری تحت عنوان MVC ایجاد شود. 🔻 تاریخچه معماری MVC معماری MVC در سال 1979 توسط Trygve Reenskaug در مرکز تحقیقاتی Xerox PARC و در حین کار با زبان Smalltalk معرفی شد. هدف این معماری جداسازی منطق کسب‌وکار از رابط کاربری بود تا نرم‌افزارها انعطاف‌پذیرتر و قابل نگهداری‌تر باشند. MVC ابتدا در سیستم‌های گرافیکی Smalltalk برای مدیریت رابط‌های کاربری تعاملی به‌کار رفت و به‌تدریج به یک الگوی اصلی در توسعه نرم‌افزار تبدیل شد. در دهه 1990، با گسترش برنامه های تحت وب، MVC به‌وسیله فریم‌ورک‌هایی مانند Java Struts و Ruby on Rails وارد دنیای وب شد. این الگو به دلیل تفکیک مسئولیت‌ها و ساختار منظم، محبوبیت بالایی در توسعه برنامه‌های پیچیده یافت. در دهه 2000، فریم‌ورک‌هایی مانند Django، ASP.NET MVC، و Spring MVC این معماری را به‌عنوان هسته طراحی خود پذیرفتند. با ظهور معماری‌های مدرن مانند MVVM و ابزارهایی مانند React و Angular، مفهوم MVC تغییراتی را تجربه کرد اما همچنان به‌عنوان یکی از بنیادی‌ترین الگوهای معماری در طراحی نرم‌افزار باقی مانده است. 🔻 بررسی معماری MVC معماری MVC یک الگوی طراحی برای توسعه برنامه‌های وب است (البته هدف اصلی از ایجاد MVC در متن بالا توضیح داده شد). معماری MVC از سه بخش اصلی تشکیل شده است. ◇ بخش اول مدل (Model): این بخش مسئول مدیریت داده‌ها و منطق کسب‌وکار است. این بخش تمام عملیات مرتبط با ذخیره‌سازی، بازیابی، و پردازش داده‌ها را انجام می‌دهد و با پایگاه داده تعامل دارد. Model مستقل از رابط کاربری است و تنها داده‌های پردازش‌شده را برای View و Controller آماده می‌کند.‌ به عنوان مثال، در یک سیستم رزرو هتل، مدل وظیفه دارد ظرفیت خالی اتاق‌ها را بررسی کند و اطمینان یابد که رزرو جدید برای هتل امکان پذیر است یا خیر. همچنین، اگر رزروی لغو شود، مدل باید ظرفیت را به‌روزرسانی کند. در این سناریو، Model شامل قوانین کسب‌وکار (Business Logic) مانند "هر اتاق فقط یک رزرو می‌تواند داشته باشد" است و این قوانین را هنگام ذخیره یا تغییر داده‌ها اعمال می‌کند. ◇ بخش دوم نما (View): بخش View مسئول نمایش داده‌ها به کاربر است. این بخش فقط بر نمایش اطلاعات تمرکز دارد و هیچ منطق پردازشی مرتبط با داده‌ها یا منطق کسب‌وکار را شامل نمی‌شود. View داده‌ها را از Model دریافت کرده و به کاربر نمایش می‌دهد. برای مثال، در یک سیستم فروشگاهی آنلاین، بخش نما می‌تواند صفحه‌ای باشد که لیست محصولات را به کاربر نشان می‌دهد. View فقط از اطلاعات موجود در Model (مانند نام، قیمت، و توضیحات محصول) استفاده می‌کند و آن‌ها را در قالب HTML به نمایش درمی‌آورد. این بخش هیچ‌گونه پردازش روی داده‌ها انجام نمی‌دهد، بلکه فقط آن‌ها را به شکلی قابل فهم و مرتب به کاربر ارائه می‌کند. ◇ بخش سوم کنترل‌کننده (Controller): بخش Controller وظیفه مدیریت تعاملات کاربر و ارتباط بین Model و View را بر عهده دارد. Controller درخواست‌های کاربر را دریافت کرده و آن‌ها را به Model ارسال می‌کند تا داده‌ها پردازش شوند. سپس، Controller داده‌های پردازش‌شده را به View ارسال کرده تا در رابط کاربری نمایش داده شوند. 🔻 بررسی معماری MVT معماری Model View Template یا به اختصار MVT به‌طور خاص در فریم‌ورک‌های Django طراحی شده است تا توسعه‌دهندگان را قادر سازد تا کدهای خود را به صورت منظم، خوانا و مقیاس‌پذیر سازماندهی کنند. این معماری مانند MVC از سه بخش اصلی تشکیل شده است که هرکدام وظایف خاصی را انجام می‌دهند. در این معماری بخش View همان بخش Controller در MVC و بخش Template تقریبا نقش View در MVC را دارد. 🔻 معماری MVT در هنگام استفاده از API هنگام استفاده از API در جنگو، بخش Model همچنان مسئول مدیریت داده‌ها و منطق کسب‌وکار است. اما بخش View دیگر داده‌ها را به قالب‌های HTML تبدیل نمی‌کند و به‌جای آن، از Serializer برای ارسال داده‌ها به فرمت‌های JSON یا XML استفاده می‌کند. بخش Template نیز دیگر وجود ندارد. 🔻 نتیجه‌گیری معماری MVC (Model-View-Controller) یکی از الگوهای طراحی نرم‌افزاری معروف است که به تفکیک منطق کسب‌وکار، رابط کاربری و کنترل تعاملات کمک می‌کند. 🌐 منبع تکمیلی 🔖 #Python, #پایتون, #Django, #جنگو, #orm, #فریمورک 👤 ȺʍìɾⱮօհąʍʍąժ 💎 Channel: @DevelopixPython
16 · 2.7K ·

Vicino nel feed

|| کانال توسعه‌دهندگان پایتون |✈️ ربات های تلگرامی ✅ در زبان پایتون framework های مطرحی وجود دارند که به منظور طراحی ربات های تلگرامی نوشته شدند. در این پست به معرفی این فریم‌ورک ها می‌پردازی|| کانال توسعه‌دهندگان پایتون |🔹 انواع ارور ها در پایتون 🔸 بخش اول برای رفع و هندل کردن ارور ها ابتدا ما باید آنها رو به خوبی بشناسیم و بدونیم دلایل رخ دادن آنها چیست. — SyntaxError یکی از خط
questo messaggio
|| کانال توسعه‌دهندگان پایتون |🔶 بخش اول 🔶 مفاهیم شی‌گرائی 🔻 اصول SOLID اصول SOLID پنج قاعده مهم در طراحی و توسعه نرم‌افزار هستند که به نوشتن کدی تمیز، انعطاف‌پذیر و قابل نگهداری کمک می‌کنند.|| کانال توسعه‌دهندگان پایتون |🔹 انواع ارور ها در پایتون 🔸 بخش دوم برای رفع و هندل کردن ارور ها ابتدا ما باید آنها رو به خوبی بشناسیم و بدونیم دلایل رخ دادن آنها چیست. — FileNotFoundError اگر
|| کانال توسعه‌دهندگان پایتون || کانال توسعه‌دهندگان پایتون |@DevelopixPython · canale · Tecnologia
7 646iscritti880copertura media dei post
Feed della community Apri in Telegram

Un feed pubblico aperto dall'indice di ricerca ChatCrawler — «Google per il Telegram pubblico»; si aggiorna man mano che la community viene scansionata. Orari in UTC.

Solo contenuti pubblici, API ufficiale di Telegram. Informazioni · FAQ · Limiti dell'indice · Rimuovi una pagina · Catalogo · Ricerca · Come calcoliamo