درست میفرمایید. پیاده سازی ای که فرمودید بهتر هست. و ساخته شدن شی در کلاسها خودش به این کد بد بو ختم خواهد شد. و البته این روزها با گسترش استفاده از تکنیکهای inversion of control و dependency injection خیلی از ما اتوماتیک پیاده سازی پیشنهادی شما رو انجام میدیم.
ولی یکی از چالش هایی که برای توضیح مطالب این چنین وجود داره اماده کردن مثال هست. معمولا سعی من بر اینه که مثالها به صورتی باشه که فقط مفهوم ذکر شده در مطلب رو پوشش بده و درکش خیلی ساده باشه. طبیعتا در این مثالها موارد اشکال از زاویههای دیگه وجود خواهد داشت و من هم سعی میکنم این موضوع رو ذکر کنم که مثالها فقط در جهت توضیح مطلب هست و پیاده سازی نهایی نیست. در بعضی موارد فراموش میکنم این نکته رو ذکر کنم.
به طور مثال در این مطلب سعی من توضیح موضوع shotgun surgery بود به سادترین روش ممکن. اگر موضوع dependency injection رو هم مطرح میکردم شاید مطالعه موضوع برای دوستانی که هنوز این مطلب براشون جا نیافتده مشکلتر میشد.
امیدوارم پاسخ سوالتون رو داده باشم.