Cách sử dụng service object trong Ruby on Rails

Tram Ho

  • Service object đang trở thành một trong những cách để thu gọn controller và model trong rails (thin controller và model).
  • Service object là một PORO (Plain old Ruby Object), có nghĩa là để phân tách các đối tượng nghiệp vụ thành các lớp và phương thức có thể quản lý được. Một service object nên có một trách nhiệm duy nhất.
  • Hãy thực sự cố gắng chỉ để có một phương thức public.

what is service object?

  • Kỹ thuật để giảm fat controller và model
  • Service object là class hoặc module

when is use service object?

  • Có nhiều logic trong controller và model.

How is use service?

  • Tạo folder service trong thư mục app
  • Tạo file tương ứng với controller
  • Tạo service object chúng ta có 2 cách:

Cách 1:

Để sử dụng service chúng ta viết như sau:

Cách 2:

Sử dụng như sau:

Thực hành

Chúng ta có một controller như sau:

  • Tạo service objects bằng module
  1. Gọi trong controller
  • Tạo service object bằng class
  1. Sử dụng trong controller
  • Hy vọng bài viết này có thể giúp cho mọi người hiểu về service object và cách sử dụng.
    Happy coding!
Chia sẻ bài viết ngay

Nguồn bài viết : Viblo