PRN222 - Chương 3: Dependency Injection và IoC
Dependency Injection và Inversion of Control trong PRN222: vòng đời service AddSingleton, AddScoped, AddTransient và cách chọn đúng vòng đời. Nội dung chương còn gồm constructor injection, property injection cho phụ thuộc tuỳ chọn, method injection, ServiceCollection, IServiceProvider, container built-in Microsoft.Extensions.DependencyInjection, cùng nguyên lý SOLID với Dependency Inversion và Open Closed. Học xong chương này, người học đăng ký và tiêm được phụ thuộc đúng vòng đời cho một ứng dụng ASP.NET Core.
Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.
Luyện tập theo chủ đề này
Câu hỏi của chủ đề
builder.Services.AddScoped<IOrderService, OrderService>();How will OrderService behave?
services.AddTransient<ILogger, ConsoleLogger>();services.AddTransient<IEmailService, SmtpEmailService>();What happens when IEmailService is requested multiple times?
AutofacUnityMicrosoft.Extensions.DependencyInjectionNinjectpublic class FileLogger
{
public void Log(string message)
=> Console.WriteLine(message);
}
public class OrderService
{
private FileLogger logger = new FileLogger();
}Which principle is violated here?
Đề có câu hỏi của chủ đề này
4 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.