Lời Mở Đầu
Cho những con người bị xoắn não vì OOP nhưng cần phải try hard để được xã hội trọng vọng hơn (maybe) 🐧
Với cái thể loại topic này thì ta vẫn nên chia 2 phần:
Phần đầu sẽ tập trung về OOP trước, ta vẫn phải hiểu cặn kẽ đc mấy cái này trước đã trước khi sang phần sau
Phần 2 này là khi ta cảm thấy đã đủ hiểu về OOP, ta sẽ nói đến Design Patterns.
Chung quy thì trước khi bước vào mồ chôn này thì anh em cần có mindset là: OOP là cơ bản, còn muốn zô ứng dụng thực tế thì đó là Design Patterns. Nhưng để dùng được Design Patterns thì bắt buộc phải hiểu OOP.
Tài liệu thì trên mạng nhan nhản, nhưng tôi có thể suggest 1 số nguồn đọc khá được, anh em sau cần tham khảo tra cứu gì thì cũng có thể qua đây check:
Acknowledgement
Alexander Shvets - Refactoring Guru - Dive Into Design Patterns