Đầu tiên, tôi là một lập trình viên cấp mới; Trên thực tế, tôi đang hoàn thành bằng AS với dự án capstone cuối cùng vào mùa hè. Trong công việc mới của tôi, khi không có dự án nào để tôi thực hiện (họ đang chờ để lấp đầy đội ngũ với nhiều tuyển dụng mới), tôi đã được tặng sách để đọc và học hỏi trong khi tôi chờ đợi - một số sách giáo khoa, những cuốn khác không quá nhiều (như Code Complete). Sau khi xem qua những cuốn sách này, tôi đã chuyển sang internet để tìm hiểu càng nhiều càng tốt, và bắt đầu tìm hiểu về RẮN và DI (chúng tôi đã nói về một số nguyên tắc thay thế của Liskov, nhưng không nhiều ý tưởng RẮN khác). Vì vậy, như tôi đã học, tôi ngồi xuống để học tốt hơn và bắt đầu viết một số mã để sử dụng DI bằng tay (không có khung DI trên các máy tính phát triển).
Điều đó là, khi tôi làm điều đó, tôi nhận thấy nó cảm thấy quen thuộc ... và có vẻ như nó rất giống với công việc tôi đã làm trong quá khứ bằng cách sử dụng thành phần của các lớp trừu tượng sử dụng đa hình. Tôi có đang thiếu một bức tranh lớn hơn ở đây không? Có điều gì về DI (ít nhất là bằng tay) vượt xa điều đó không? Tôi hiểu khả năng có cấu hình không phải là mã của một số khung DI có một số lợi ích lớn khi thay đổi mọi thứ mà không phải biên dịch lại, nhưng khi thực hiện bằng tay, tôi không chắc liệu nó có khác gì so với đã nêu ở trên không ... Một số cái nhìn sâu sắc về điều này sẽ rất hữu ích!