2013-04-23 10 views
25

Krótka wersja: kiedy należy wstawić coś do aplikacji/usług zamiast do biblioteki lib /.Railsowe obiekty usług a klasy lib

Ostatnio odwiedzam trasę obiektów usługowych, ale zdałem sobie sprawę, że czasami nie mogę naprawdę zdecydować się na pogodę, którą powinienem wyodrębnić do obiektu usługi (który mam w aplikacji/usługach) lub do klasy w moim folderze lib.

Jedną z rzeczy, na którą zwykle czekam, jest to, czy klasa potrzebuje dostępu do paramów lub innych specyficznych dla kontrolera rzeczy (to jest jako param w inicjalizatorze), to zazwyczaj włączam je do usług.

Jaka jest konwencja? Dowód (linki) byłby miły :)

Odpowiedz

52

ten sposób staram się myśleć o kodzie, który idzie w lib/:

  • To nie jest sprzężony model domeny mojej aplikacji.
  • Może być ponownie wykorzystane w innych projektach.
  • Potencjalnie może stać się jego własnym klejnotem. Dlatego umieszczenie go w lib/ jest pierwszym krokiem w tym kierunku.

Usługi:

  • Oni wydają się wiedzieć przyzwoitą kwotę około wewnętrzne funkcjonowanie model domeny.
  • Wykonuj prace związane z domeną biznesową w mojej aplikacji.
  • Mogą być łączone z konkretnymi modelami.
+0

Przyjmę to, ponieważ umieściłeś tam ładne przykłady. Dzięki. – mrbrdo

2

IMO, usługi to abstrakcja Twojej domeny. Rzeczy Lib to klasy wygody, inne rzeczy, które nie odnoszą się bezpośrednio do twoich modeli.

Powiązane problemy