* Bạn có bao giờ sửa code ở một chỗ → xong kéo theo lỗi dây chuyền ở chỗ khác không? * Ví dụ: thay đổi cách lưu dữ liệu thì toàn bộ logic User, Product, Order đều phải sửa lại. Cảm...
* Trong lập trình hướng đối tượng, có một nguyên tắc nghe tên hơi dài dòng: Interface Segregation Principle (ISP). * Nghe thì học thuật, nhưng ý tưởng rất đơn giản: “Đừng bắt người...
Nếu bạn từng nghe tới SOLID, thì chữ L chính là Liskov Substitution Principle (nguyên tắc thay thế Liskov). Nghe tên có vẻ “học thuật hàn lâm”, nhưng thực ra nó xoay quanh một ý...
OCP LÀ GÌ? Nguyên tắc Open/Closed được định nghĩa như sau: > Code nên mở rộng được nhưng hạn chế sửa đổi trực tiếp. Nghe có vẻ “triết lý” nhưng thực chất rất thực tế: * Open (mở...
* Trong dự án thực tế, code thường phình ra theo kiểu “cần gì nhét đó”. Một service ban đầu chỉ có 50 dòng, sau vài tháng bỗng thành 1000 dòng với hàng chục trách nhiệm. Lúc đó,...
I. MỞ ĐẦU * Khi phát triển một dự án phần mềm, chúng ta không chỉ quan tâm đến tính năng, mà còn phải cân nhắc đến hiệu suất và khả năng mở rộng lâu dài. * Một hệ thống có thể chạy...