سلام امیدوارم حالتون خوب باشه.
ما داخل کلاس CouponValidator درون متد Validate اومید و به طور مستقیم از کلاسهای CouponExist , CouponExpire , CouponActive اینستنس گرفتیم.
الان ما قانون DIP رو نقض کردیم.
از طرفی اگر بخوایم Inject کنیم اینهارو تعداد آرگومانهای کانستراکترومون بیش از تعداد نورمال میشه.
سوالم اینه که الان نخوایم هم از دیزاین پترن change of responsibility استفاده کنیم، قانون SRP رو نقض میکنیم.
نمیدونم متوجه سوالم شدید یا نه، ولی منظورم اینه که در چنین شرایطی باید چه کار کنیم؟