استراتژی ویوهای مبتنی بر کلاس
سلام
در این فصل قصد داریم ویوهای برنامه را با استفاده از مفهوم کلاس پیاده سازی کنیم. مسلماً باید به کدهای قبلی برگردیم و بخش هایی از آن را تغییر دهیم.
بعد هم به مسائل مهم دیگر مثل صفحه بندی و شماره گذاری صفحات، 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
مطلب قبلی: مهاجرت
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!