Junior — Middle
Proqram təminatı memarlığında asılılıqların tərs prinsipi tətbiq etməyin əsas səbəbi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Asılılıqın Tərs Çevrilməsi Prinsipi (Dependency Inversion Principle, DIP), sistemin komponentləri arasında bağlılığı azaltmaq və onun çevikliyini və test ediləbilənliyini artırmaq üçün tətbiq olunur.
DIP-ni tətbiq etmənin əsas səbəbi, yüksək səviyyəli modulları aşağı səviyyəli modullardan müstəqil etməkdir, hər ikisi abstraksiyalara (interfeyslərə) bağlı olmalıdır, konkret həyata keçirmələrə deyil. Bu, həyata keçirmələri asanlıqla dəyişdirməyə imkan verir, kodun dəstəklənməsini və genişləndirilməsini sadələşdirir.
C# nümunəsi:
public interface ILogger
{
void Log(string message);
}
public class FileLogger : ILogger
{
public void Log(string message) { /* fayla yazma */ }
}
public class UserService
{
private readonly ILogger _logger;
public UserService(ILogger logger)
{
_logger = logger; // abstraksiya vasitəsilə asılılıq
}
public void CreateUser(string name)
{
// istifadəçi yaratma məntiqi
_logger.Log($"İstifadəçi {name} yaradıldı.");
}
}
Burada, UserService ILogger interfeysinə bağlıdır, və FileLogger-ə deyil. Bu, məsələn, DatabaseLogger ilə dəyişdirməyi asanlaşdırır, UserServicedə heç bir dəyişiklik olmadan.