PDA

View Full Version : Decorator چیست ؟



arefenayat
یک شنبه 03 اسفند 1393, 13:35 عصر
سلام ، مدتی هست که در رابطه با توابع و Decorator ها مطالعه می کنم ولی درست متوجه نشدم چی هستند /
دوستان لطف کنند راهنمایی کنند که دیکورتور ها چی هستند و کجا کاربرد دارند .

n.nowroozi
یک شنبه 03 اسفند 1393, 14:04 عصر
سلام ، مدتی هست که در رابطه با توابع و Decorator ها مطالعه می کنم ولی درست متوجه نشدم چی هستند /
دوستان لطف کنند راهنمایی کنند که دیکورتور ها چی هستند و کجا کاربرد دارند .
این لینک (http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/) رو کامل بخون متوجه میشی
به صورت کلی decorator بیشتر زمانی به کار میره که شما قبل یا بعد از صدا کردن یک تابع بخواید یک کاری رو انجام بدید..یک مثال ساده میزنم فرض کنید یک تابع دارید که قراره یک صفحه وب رو نمایش بده و شما نمیخواید افرادی که دسترسی لازم رو ندارند این صفحه رو ببینند.. راه بد اینه که شما داخل اون تابع اینکارو انجام بدید و در نظر بگیرید که به ازای کلیه صفحاتی که مشکل مشابهی دارید باید اینکارو انجام بدید.. راه درست اینه که یه دکوریتور بنیسید که قبل اینکه تابع اجرا بشه این مجوز رو چک کنه و در صورتی که کاربر دسترسی لازم رو نداشت اصلا سراغ اجرای تابع نره.. و صفحه عدم دسترسی رو به کاربر نشون بده..

arefenayat
یک شنبه 03 اسفند 1393, 19:27 عصر
مچکرم
دوتا مفهموم staticmethod و classmethod هم به همین قضیه مربوط میشن ؟

n.nowroozi
دوشنبه 04 اسفند 1393, 07:41 صبح
مچکرم
دوتا مفهموم staticmethod و classmethod هم به همین قضیه مربوط میشن ؟
نه اون بحثش متفاوته این لینک (http://stackoverflow.com/questions/12179271/python-classmethod-and-staticmethod-for-beginner) رو بخون