Рубиновая альтернатива Service Layer - PullRequest
1 голос
/ 23 июля 2010

Я пишу приложение Ruby on Rails. который будет использовать третье лицо для выполнения вызова веб-службы или вызова покоя или какого-либо вызова. Я не продан, на какой третьей стороне я собираюсь использовать, поэтому я хочу выделить это на каком-то фасаде.

Если бы я делал это в .NET, я бы изолировал эту функциональность в службе, которую я внедряю в контроллер. Это означает, что я могу легко смоделировать сервис для того, чтобы сделать его тестируемым, но в ruby ​​гораздо проще насмехаться над вещами, поэтому я не думаю, что мне нужен тот уровень косвенности и развязки, который мне нужен в статическом приложении .

Это выглядит очень не по-рубиновому, и мне хотелось бы услышать, как более опытные разработчики ruby ​​подходят к этой проблеме изоляции кода, чтобы сделать его смоделированным и тестируемым, а также дать мне возможность поменять стороннего провайдера, которого я использую .

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Если это веб-сервис RESTful, я бы сделал это в модели, которая наследуется от ActiveResource :: Base . Это должно быть относительно легко смоделировано для целей тестирования.

0 голосов
/ 23 июля 2010

Рубиноподобная версия «Я бы изолировал эту функциональность в службе, которую я внедряю в контроллер», была бы что-то вроде «Я бы написал это как модуль ruby, который я включил в свой класс»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...