Please Explain SOLID principles and provide examples in C#.
SOLID is an acronym representing five design principles intended to make software designs more maintainable, flexible, and scalable.
public interface ILogger { void Log(string message); }
public class ConsoleLogger : ILogger { public void Log(string message) => Console.WriteLine(message); }
public class UserService {
private readonly ILogger _logger;
public UserService(ILogger logger) => _logger = logger;
public void CreateUser(string name) => _logger.Log($"User {name} created");
}