Với các Quan sát viên chính thức bị xóa khỏi Rails 4.0 , tôi tò mò không biết các nhà phát triển khác đang sử dụng ở vị trí nào của họ. .
Lấy ví dụ, một ứng dụng cần theo dõi các thay đổi đối với một mô hình. Người quan sát có thể dễ dàng theo dõi các thay đổi trên Mô hình A và ghi lại những thay đổi đó với Mô hình B trong cơ sở dữ liệu. Nếu bạn muốn theo dõi các thay đổi trên một số mô hình, thì một người quan sát duy nhất có thể xử lý điều đó.
Trong Rails 4, tôi tò mò không biết chiến lược nào mà các nhà phát triển khác đang sử dụng thay cho Người quan sát để tạo lại chức năng đó.
Cá nhân, tôi đang nghiêng về một kiểu triển khai "bộ điều khiển chất béo", trong đó những thay đổi này được theo dõi trong phương pháp tạo / cập nhật / xóa của từng bộ điều khiển mô hình. Mặc dù nó làm tăng hành vi của từng bộ điều khiển một chút, nhưng nó giúp ích trong việc đọc và hiểu vì tất cả các mã nằm ở một nơi. Nhược điểm là bây giờ mã rất giống nhau nằm rải rác trong một số bộ điều khiển. Trích xuất mã đó vào các phương thức của trình trợ giúp là một tùy chọn, nhưng bạn vẫn còn các lệnh gọi đến các phương thức đó nằm rải rác khắp nơi. Không phải ngày tận thế, nhưng cũng không hoàn toàn theo tinh thần "người điều khiển gầy".
Các cuộc gọi lại ActiveRecord là một lựa chọn khả thi khác, mặc dù theo quan điểm của tôi thì tôi không thích hai mô hình khác nhau quá gần nhau.
Vậy trong thế giới Rails 4, không có người quan sát, nếu bạn phải tạo một bản ghi mới sau khi một bản ghi khác được tạo / cập nhật / hủy, bạn sẽ sử dụng mẫu thiết kế nào? Bộ điều khiển chất béo, cuộc gọi lại ActiveRecord, hoặc cái gì khác hoàn toàn?
Cảm ơn bạn.