3 ضمیمه
سوالی در مورد تزریق وابستگی در لایه سرویس برای پیاده سازی validation
سلام
من برای اینکه میخواستم یه سری از Exceptionها رو در لایه ی داخلی مربوط به سرویس ها Handle کنم به همین دلیل یه اینترفیس به اسم IvalidationService رو در لایه سرویس ها پیاده سازی کردم. به صورت زیر که این اینترفیس رو کلاسی به نام ValidationService پیاده سازی میکنه.
ضمیمه 144702
برای مپ کردن اینترفیس ها هم از Structure map استفاده کردم.تمام کنترلرهای برنامه هم قرار هست تا از basecontroller که خودم از Controller ارث بری کردم، استفاده بشه.
ضمیمه 144701
ولی یه مشکلی که وجود داره اینه که نمیدونم چه جوری به strucuture map بفهمونم که در اینترفیس پیاده سازی شده ی مثلا project service، اینترفیس ivalidationservice که در constructureش قرار داده همون property مربوط به basecontroller هست و شی جدیدی برای سرویس ها ایجاد نکنه.
ضمیمه 144700
ممنون میشم راهنمایی کنید.
نقل قول: سوالی در مورد تزریق وابستگی در لایه سرویس برای پیاده سازی validation
به نظرم کدی که پیاده کردید پیچیده شده و میشه ساده تر باشه.
چیزی که من متوجه شدم اینه که شما قصد دارید ValidationService رو از کنترلر به ProjectService پاس بدید. برای اینکار ساده ترین راه اینه که یک متغیر عمومی در ProjectService تعریف کنید و دیگه نیازی به تزریق وابستگی در خط 21 در تصویر آخر ندارید.
روشهای دیگری برای تزریق وابستگی وجود داره ، مثلا Property Injection و Method Injection بعضی مواقع مثل این حالت شما نمیشه وابستگی ها رو در زمان ایجاد کلاس (Constructor) تزریق کرد.
نقل قول: سوالی در مورد تزریق وابستگی در لایه سرویس برای پیاده سازی validation
این متغیر عمومی که میگید رو چه جوری میتونم تعریف کنم که هنگام اجرای برنامه، اگر مشکلی در validation در داخل action به وجود اومد، ارورهای موجود در modelstatedictionary موجود در action رو به validation l موجود در سرویس اضافه کنم و برای نمایش به کاربر برگردونم؟ در حقیقت، میخوام که modelstatedictionary و validationی که من در برنامه توسعه دادم، یکپارچه باشند؟