🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ دانشجوی سون‌لرن
علت تعریف کلاس‌های detail و price
جامعه پایتون (وب) ایجاد شده در ۰۳ اردیبهشت ۱۴۰۱

توی الگوی abstract factory و مثالی که بررسی میشه متوجه نمیشم چرا کلاس‌های RugPrice و RugDetail تعریف شدن؟! خب طبیعتا همه میدونیم که بدون این کلاس‌ها و

توی توابع price و detail هر نوع محصول هم میتونیم این برنامه رو بنویسیم و درست کار کنه.

بهتره سوالم رو اینجوری بپرسم که تعریف کردن کلاس‌های RugsDetail و RugsPrice (مشابهش برای GiftCard) چه فیچر جدید و مزیت جدید رو به کدمون اضافه میکنه ؟

درود برشما سوال خیلی خوبی پرسیدید

این کلاسها درمواقعی که جزییات بسیار زیادی داریم و یا قیمت محصول دارای آپشنهای زیادی هست بسیار کاربردی هستند.

برای مثال فرض کنید یک کتاب درفروشگاه خود تعریف میکنید. این کتاب خصوصیات مختلفی داره، مثل تعداد صفحه، جنس جلد، نوع قطع یا ابعاد و... پس دراینجا خود جزییات دارای ویژگیهای مختلفی هست و برای خوانایی و شفافیت کد نیاز هست تا براش یک کلاس درنظر گرفته بشه.

به همین ترتیب قیمت یک کتاب میتونه به ریال یا دلار باشه (در سایت گاج چنین چیزی رو میبینید) یا ممکنه یک ویژگی جدا برای زمان تخفیف تعریف بشه. در اینجا هم بهتر هست که قیمت یک کلاس بشه و مواردی که گفتم به عنوان ویژگیهای اون تعریف بشه.

در نهایت به یاد داشته باشید که ما همیشه میتونیم بدون ارث بری و تعریف کلاس و... این موارد رو پیاده سازی کنیم، اما اونطوری کدمون در درازمدت شلوغ و درهم ریخته میشه و امکان توسعه اش بسیار پایین میاد.

نازنین کریمی مقدم ۰۳ اردیبهشت ۱۴۰۱، ۱۸:۳۰