Định nghĩa
Large class là 1 class chưa rất nhiều fields/method/lines of code
Nguyên nhân
Class ban đầu là khá nhỏ, nhưng về lâu dài nó sẽ phình lên theo sự phát triển của chương trình
Lập trình viên thường có xu hướng viết thêm code vào class sẵn có thay vì tạo cái mới
Cách khắc phục
Khi một class phình ra qua to, hãy nghĩ ngay tới việc chi nhỏ nó
1. Extract class
Phương thức này sẽ giúp chia nhỏ các hành vi của class ra thành những component riêng lẽ

2. Extract Subclass
Tách thành class con giúp cho large Class có thể được implement theo những cách khác nhau hoặc là theo những trường hợp đặc thù/ hiếm gặp nào đó

3. Extract Interface
Tách thành interface sẽ hữu ích nếu cần thiết phải có một danh sách các hoạt động/hành vi mà các class implement nó cần dùng đến.

4. Tách GUI và Domain data ra thành class riêng
Bạn nên tách biệt việc sử lý sự kiện trên GUI và xử lý Data bên dưới ra thành 2 class riêng.

Kết luận
- Việc tái cấu trúc các lớp 1 cách hợp lý giúp bạn không cần phải nhớ một số lượng lớn các thuộc tính & phương thức trong 1 class
- Trong nhiều trường hợp, việc chia nhỏ các lớp lớn thành các lớp con sẽ tránh được sự trùng lặp về code và chứng năng