tg-me.com/djangolearn_ir/1062
Last Update:
داشتم یک کدی رو امروز روش کار میکردم؛ که یک سری کانفیگ از یوزر میگیره اما اگر وجود نداشت یک سری دیفالت رو بجاش استفاده میکنه و تمام این تنظیمات dictionary
هستند.
مشکل بعدیش این بود که تنظیمات دیفالت هم خودش توسط یگ یوزر دیگه تعریف میشه و لزوما تنظیمات صفر ابزار ما نیست.
بطور خلاصه ما یک dict
داریم که خودش یک سری تنظیمات داره؛ ولی ممکنه یک بخشهایی رو یک نفر بخواد تغییر بده پس باید overwrite
بشه! ولی اجازه overwrite
نداریم چون ممکنه کاربر نهایی تنظیماتش رو بخواد reset
کنه ولی این وسط ممکنه تنظیمات از طریق مشتریهای میانی به دست کاربر نهایی رسیده باشه و مشتری میانی نخواد کاربر رو مستقیم به ما وصل کنه (مطمئن باشه ما دورش نمیزنیم ولی خودش هم برنامهنویس نیست که سایت و ابزارهای خودش رو توسعه بده)
خلاصه که ممکنه چیزی که نهایتا به مشتری آخر میرسه اینطوری باشه :default -> default -> default -> ....... -> default
و بعد مشتری نهایی سیستم اون رو برای خودش شخصیسازی کنه.
کلی راهکار پیشنهاد شد؛ یکباره یاد ChainMap
توی پایتون افتادم اول رفتم یک تست گرفتم مطمئن بشم به محدودیتهای بیزینس نمیخوریم بعد کد رو دادیم رفت بالا (شد بهترین راهکار) چون خودم اصلا یادم نبود که ChainMap
همچین کاربردی داشته باشم گفتم با شما هم به اشتراک بذارم.
اگر یکی از مقادیر توسط مشتریها تعریف نشده باشه؛ در اونصورت از دیکشنری default
خونده میشه.
BY جنگولرن

Share with your friend now:
tg-me.com/djangolearn_ir/1062