Вопрос пользователя Maksim Samorukov в уроке «Модульные тесты», курс «JS: Автоматическое тестирование»

Maksim Samorukov

Объясните пожалуйста зачем мы сначала результат getImpelementation() присваиваем в makeValidator, а потом makeValidator() присваиваем в validator? Почему мы не можем работать с makeValidator?

6 0

Kirill Mokevnin

Тут два момента. getImpelementation нужен чтобы выбрать правильную реализацию валидатора для текущего запуска тестов. Это особенность тестов для тестов. Второй момент, валидатор можно мутировать, а значит он должен создаваться как отдельный объект. Эта тема подробнее раскрывается в курсе по ооп и дизайну.

0

Maksim Samorukov

Kirill Mokevnin, но почему не получается, даже чисто технически, обратиться к методам makeValidator.addCheck(fn) и makeValidator.isValid(data)?

0

Kirill Mokevnin

Потому что makeValidator это просто функция, которая возвращает нужный объект.

0

Bauyrzhan Eset

const makeValidator = getImplementation();
const validator = makeValidator();

все равно не понял, в моем понимании makeValidator это ссылка на функцию getImplementation и validator тоже же самое чисто визуально ... об этом будет в будущих уроках? и это вообще тема урока?

0

Андрей Моисейкин

Присоединяюсь к вопросу про то, почему нельзя использовать makeValidator.

0

Kirill Mokevnin

Потому что makeValidator это функция, а не объект валидатора. Почему так сделано это уже другой вопрос. Для его понимания нужно немного разбираться в ООП, поэтому можно считать что это тема следующих курсов.

В двух словах, валидаторов в коде может быть много и у каждого свое состояние. Поэтому валидатор это не просто объект, это класс из которого уже делаются конкретные валидаторы.

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».

Похожие вопросы

Николай Ларионов 1 день назад →

Так и не понял данное упрожнение, суть задания понял, что у нас есть класс, в нем присуще методы, которые м...

Sergey D 02 сентября 2020 →

Добрый день! Упражнение выполнил (проверка прошла без всех тестов из решения учителя). Остался вопрос: каки...

Alexandra Ermakova 01 сентября 2020 →

https://ru.hexlet.io/code_reviews/309236 сначала увидела задание - испугалась и расстроилась, потом очень о...

Илья Кононенко 31 августа 2020 →

solution (https://ru.hexlet.io/code_reviews/308508) Все ли я правильно понял? какие проверки стоило бы доба...

Msh Ker 19 августа 2020 →

Ну вот, приехали.. Очередной раз сталкиваемся с тем, что в теории нам рассказывают про 2 + 2, а в упражнени...