Ali koleiny zadeh
Ali koleiny zadeh
خواندن ۱ دقیقه·۲ سال پیش

DP: Strategy

دیزاین پترن استراتژی
دیزاین پترن استراتژی

اول یدونه اینترفیس از رفتاری که میخوایم قابلیت پیاده سازی های متفاوت داشته باشد درست میکنیم

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

الان وقتشه که یه کلاس والد برای کلاینت های خودمون ایجاد کنیم و از اینترفیس رفتارمون یه فیلد بسازیم و بعد دو تابع fight و setWeapon رو با اون فیلد استفاده و مقدار دهی کنیم

من از قصد تابع fight رو به شکل virtual تعریف کردم که بشه بدنه دیفالت براش تعریف کرد و هر جا لازم شد با اورراید کردنش تغییرش داد

و بعد دو کلاینت Soldier و Queen رو با ارث بری از کلاس کاراکتر میسازیم

در کلاس Queen تابع fight اورراید شده تا بشه رفتار متمایز براش تعریف کرد




اجرای اول
اجرای اول
اجرای دوم
اجرای دوم


design patterncsharpdotnet
شاید از این پست‌ها خوشتان بیاید