Khi lần đầu tiếp cận bài toán multiple payment method, tôi từng nghĩ đây chủ yếu là một bài toán chia số tiền. Ví dụ: một dịch vụ có giá 700 USD. Khách hàng có gift card trị giá...
Khi bắt đầu triển khai cache vào hệ thống thực tế, một câu hỏi mới xuất hiện: > Nếu dữ liệu đã nằm trong cache, ứng dụng sẽ đọc và ghi dữ liệu như thế nào? Nghe có vẻ đơn giản,...
* 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ở...