Первый вариант. Длинно //работа с моделью, DAO obj.setFirst("bla"); obj.setSecond("bla-bla"); //Работа с реальностью, DSL form.setFirst(obj); form.setSecond(obj);
Второй вариант. Одновременное изменение и модели и реальности obj.form.setFirst("bla").setSecond("bla-bla");
method chaining
ОтветитьУдалитьПозволяет быстро читать устойчивые конструкции кода, которые обычно идет вместе.
Например,
было
form.setFirstName("FFF");
form.setLastName("DDDD");
Стало
form.setFirstName("FFF").setLastName("DDD");
Пример может и не очень уданчый, но вот для этого оно.
И ответ на второй вопрос - да использую, но не всегда, и не везде.
ОтветитьУдалитьRe: method chaining
ОтветитьУдалитьХм. Получается, что мы смешиваем работу DAO и DSL
Смотри. Редактирование чего-то.
Первый вариант. Длинно
//работа с моделью, DAO
obj.setFirst("bla");
obj.setSecond("bla-bla");
//Работа с реальностью, DSL
form.setFirst(obj);
form.setSecond(obj);
Второй вариант. Одновременное изменение и модели и реальности
obj.form.setFirst("bla").setSecond("bla-bla");
Третий, компромисс.
obj.setFirst("bla").setSecond("bla-bla");
obj.form.setFirstName().setLastName();
Как жыть?
Re: method chaining
ОтветитьУдалитьШо-то мине подсказывает сударь, шо если Ви чуете столь тонкую грань между DAO и DSL, то случай ваш столь особ, что требует глубочайшего разъяснения
Re: method chaining
ОтветитьУдалитьИ то верно, тут надо зрить в код.
А у вас как, pageObject?
Re: method chaining
ОтветитьУдалитьМы реализуем page object pattern, но не используем page factory
Re: method chaining
ОтветитьУдалитьform
.setFirstName("FFF")
.setLastName("DDD");