استراتژی ویوهای مبتنی بر کلاس

سلام

در این فصل قصد داریم ویوهای برنامه را با استفاده از مفهوم کلاس پیاده سازی کنیم. مسلماً باید به کدهای قبلی برگردیم و بخش هایی از آن را تغییر دهیم.

بعد هم به مسائل مهم دیگر مثل صفحه بندی و شماره گذاری صفحات، Markdownها و حتی یک ویرایشگر ساده می پردازیم و برنامۀ خود را انسان فهم(!!) می کنیم. باید توجه داشت که در جنگو تمام ویوها یک تابع هستند یعنی حتی ویوهای مبتنی بر کلاس یا Class-Based Viewها یا CBVها هم باید مقداری را به عنوان تابع return کرده و باز گردانند.

ویوهای مبتنی بر کلاس برای توسعه دهندگان امکان استفادۀ دوباره یا توسعۀ ویوها را راحت تر می کنند. مزایای این کار زیاد بوده و می توان به قابلیت توسعۀ تکنیک های شی گرایی مثل ارث بری چندگانه، هندل کردن متدهای Http و … دست یافت.

قبل از ادامۀ بحث می خواهم سه مفهوم را توضیح دهم.

  • -Function-Based Views (FBV)
  • -Class-Based Views (CBV)
  • -Generic Class-Based Views (GCBV)

* یک FBV ساده ترین نوع ویو در جنگوست. تابعی که یک شی از نوع http request  را دریافت کرده و یک http response را باز می گرداند.

* یک CBV  شامل هر نوع از ویوهای جنگویی می شود که اولا کلاسی در پایتون باشد و دوم اینکه کلاس انتزاعی django.views.generic.View را توسعه دهد. CBVها برای توسعه و استفاده دوبارۀ کدها بسیار مناسب اند.

* GCBVها همان CBVهای  پیشفرض جنگو هستند که از قبل برای کارهای مشخصی نظیر لیست کردن، ساخت، بروزرسانی و حذف ویوها پیاده سازی شده اند.

در ادامه می خواهیم برای هر یکی از این استراتژی ها مثالی داشته باشیم.

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی:Function-Based View

مطلب قبلی: مهاجرت

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگو شرکت کنید؟
نظری بدهید!

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

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