۱ رضا عباسی
ابهام در درک این دیزاین پترن
جامعه مهندسی نرم افزار ایجاد شده در ۱۴ شهریور ۱۴۰۲

با سلام و خسته نباشید

این ساختار با ساختار قبلی چه تفاوتی داشت؟

  • در این روش بجای اینکه برنامه‌نویس بعدی، کلاس MailMailer را تغییر دهد، کلاس MailFactory را تغییر میدهد
  • اگر translate تغییر کند، برنامه نویس بجای MailMailer باید MailFactory را تغییر دهد|
  • فرآیند ارسال ایمیل بیشتر شد در نتیجه احساس میکنم پرفورمنس پایین میاد.

با تشکر

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


در مورد بحث پروفورمنس هم بله تا حدودی روی این موضوع تاثیر میذاره اما باید توجه کنید که همیشه در دنیای برنامه نویسی با اولویت‌ها رو به رو هستیم و باید ببینیم چه چیزی رو فدای چه چیزی می‌کنیم. در اینجا ممکنه اصلا بحث پرفورمنس اولویت نداشته باشه یا بالعکس که در اون صورت باید ببینم این روش چقدر روی پرفورمنس تاثیر داره و راه‌های بهینه سازی اون چی هست. اما در نهایت بهینه بودن ساختار کدها اکثر مواقع بر خیلی موارد دیگه اولویت داره.

بهترین پاسخ
کیوان علی محمدی ۱۷ شهریور ۱۴۰۲، ۱۵:۰۱