به نام خدا
در این پست می خواهیم abstract factory را در پایتون بررسی کنیم.
به این مدل می توان factory of factories نیز گفت یعنی کارخانه ای که خودش کارخانه تولید می کند. اجازه دهید آن را با مثالی بررسی کنیم.
فرض کنید می خواهیم یک رابط کاربری برای دو سیستم عامل mac و ویندوز طراحی کنیم و فرض بر این است در هر دو اینها یک دکمه و یک textview داریم.
پس کارخانه ی ما در واقع قرار است یک textview , button بسازد. پس همین را می نویسیم:
اما نحوه نمایش و کار با آن ها در دو سیستم عامل متفاوت است پس نیاز است دو زیر کارخانه از این کارخانه بسازیم که عملیات متفاوتی برای ویندوز و mac انجام دهد.
حال برای پیاده سازی دکمه ها و textviewهای این دو سیستم عامل نیاز است تا کلاسی برای هریک بسازیم.
حال اگر بخواهیم برای ویندوز رابط کاربری را آماده کنیم فقط کافی است کارخانه اش را صدا بزنیم و با استفاده از آن دو کامپوننت دکمه و textview را بسازیم.
چیزی که در متغیر windows_app قرار می گیرد، دو شی دکمه و textview است که برای کار با آن ها فقط کافیست توابعشان را صدا بزنیم:
منبع مثال: ChatGPT