سلام لطفا بفرمایید مفهوم IOC یا Inversion Of Control در برنامه نویسی چیست ؟
در واقع IOC یک معماری هست که در معماری های رایج برنامه نویسی مثل معماری پیازی پیاده سازی میشه. یکی از تعاریفی که در معماری تمیز وجود داره این هست که به طور کلی شما باید سعی کنید که هر کلاس یک وظیفه داشته باشه و وابستگی بین کلاس ها کمتر و کمتر باشه.
به عنوان مثال فرض کنید یک ریپازیتوری دارید که توابع و متدهایی رو داخل اون تعریف کردید. حالا قصد دارید در سایر کلاس ها از متدها و توابع این ریپازیتوری استفاده کنید. خب برای این کار باید یک نمونه از ریپازیتوری رو در کلاس مورد نظر تعریف کنید.
CustomerRepository customerRepo = new CustomerRepository();
خب وقتی شما یک نمونه از کلاس ریپازیتوری در کلاس دیگه ای تعریف میکنید به تمامی کلاسها، توابع و حتی دیتابیس (در صورتی که در ریپازیتوری استفاده شده باشد) دسترسی وجود دارد. همچنین در کلاس دوم یک کلاس دیگر که همان ریپازیتوری می باشد ایجاد شده است که در این صورت از اصول معماری تمیز فاصله گرفته است.
بنابراین در این موارد باید سعی کنید وابستگی این 2 کلاس را از بین ببرید که می تونید با تعریف یک Interface و استفاده از اینترفیس به جای استفاده مستقیم از ریپازیتوری وابستگی بین کلاس ها را از بین ببرید.
خب در این حالت اصطلاحا شما از IOC استفاده کرده اید.
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
350
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
319
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4271
- پاسخ :
1
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
662
- پاسخ :
0
|
تاریخ :
1398/09/05
- ساعت :
06:04:00 PM
- بازدید :
3174
- پاسخ :
2
|
تاریخ :
1398/09/08
- ساعت :
11:38:00 PM
- بازدید :
3251
- پاسخ :
1
|
تاریخ :
1403/04/12
- ساعت :
07:27:00 PM
- بازدید :
658
- پاسخ :
0
|
تاریخ :
1403/01/29
- ساعت :
08:08:00 AM
- بازدید :
688
- پاسخ :
4
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
80
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
114
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
431
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1357
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|