Composition vs Inheritance: Khi nào nên ngừng dùng 'extends'?
Tại sao kế thừa (Inheritance) thường dẫn đến kiến trúc cứng nhắc và thảm họa 'Fragile Base Class'? Tìm hiểu cách thay thế bằng Composition để code linh hoạt và dễ test hơn.
© 2026 Laravel
Các bài viết về Refactoring trên tuantq.online.
Tại sao kế thừa (Inheritance) thường dẫn đến kiến trúc cứng nhắc và thảm họa 'Fragile Base Class'? Tìm hiểu cách thay thế bằng Composition để code linh hoạt và dễ test hơn.
Dấu hiệu khi class chỉ chứa getter/setter và cách 'bơm' logic vào đúng chỗ.
Dấu hiệu khi các tham số luôn đi cùng nhau và cách biến chúng thành Value Objects để code sạch hơn.
Làm sao để tìm và xóa code không dùng đến một cách an toàn. Tại sao code rác làm giảm vận tốc dev?
Kỹ thuật biến các logic 'dính chặt' thành các sự kiện rời rạc để tăng tính linh hoạt.
Kỹ thuật tách logic từ một class ôm đồm (God Object) sang các class chuyên biệt để đạt chuẩn Single Responsibility.
Dấu hiệu khi một method 'quan tâm' đến dữ liệu của class khác nhiều hơn class của chính nó.
Dấu hiệu khi hai class biết quá nhiều về dữ liệu của nhau và cách tách biệt chúng để tăng tính đóng gói.
Khi class của bạn quá lớn, ôm đồm quá nhiều chức năng. Kỹ thuật tách class theo nguyên lý Single Responsibility.
Khi hàm của bạn cần 5-6 tham số trở lên, đó là lúc cần đóng gói dữ liệu vào Parameter Object.