mixin

mixin در پایتون نوعی از وراثت چندگانگیست که در دو موقعیت لزوم استفاده از آن را فراهم می شود :۱- زمانی که بخواهید امکانات زیاد و متنوعی برای کلاس خود بکار بگیرید۲- و زمانی که بخواهید امکان خاصی را از تعداد زیادی کلاس برداشته و بروی آن کار کرده یا توسعه اش دهید

بعنوان مثال ( برای مورد اول ) در werkzeug متدهای Response and Request را در نظر بگیرید :کلاس زیر یک درخواست ساده رو دریافت می نماید

from werkzeug import BaseRequest

class Request(BaseRequest):
    pass

و حالا  کلاس زیر می تواند درخواست را دریافت و Header آن را شناسایی نماید

from werkzeug import BaseRequest, AcceptMixin

class Request(BaseRequest, AcceptMixin):
    pass

حالا اگر کلاسی می خواهید که بتواند درخواست را دریافت نموده ، Header, etags, authentication, and useragent را پشتیبانی نماید :

from werkzeug import BaseRequest, AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthorizationMixin

class Request(BaseRequest, AcceptMixin, ETagRequestMixin, UserAgentMixin, AuthorizationMixin):
    pass

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