Về Github view_component gem (Ở đây em không nhắc chung tới kiến trúc component nữa mà nói trực tiếp tới view_component gem vì đối với mỗi thư viện, kiến trúc component sẽ được thực hiện khác nhau ở 1 số điểm)
Ưu điểm: (Xem thêm ở đây: https://github.com/github/view_component#why-should-i-use-components)
(1) Tách biệt logic ra khỏi views và nằm trong 1 ruby class riêng biệt
(2) Loại bỏ khả năng sử dụng 1 biến instance (@) ở trong nhiều partials như trước đây (bắt buộc phải truyền biến từ ngoài vào component) => Việc tìm nguồn gốc của biến sử dụng dễ dàng hơn