Содержание
- 2. SkyEng Skyeng — это онлайн-школа английского языка нового поколения. В школе работают профессионалы, помогающие жителям современных
- 4. Маркетинг Ма́рке́тинг (от англ. marketing «рыночная деятельность») — организационная функция и совокупность процессов создания, продвижения и
- 5. Маркетинг Тратить меньше (на продвижение и предоставление) Получать больше (увеличение аудитории, создание новых продуктов) Деньги!
- 7. Что требуется от разработки Качественно Быстро Дешево
- 8. Пример
- 9. Задачка Надо сделать виджет Дизайн есть! Пользователь оставляет заявку В календаре выбирает дату и время вводного
- 10. Вводный урок Что это?
- 11. Задачка Надо сделать виджет Дизайн есть! Пользователь оставляет заявку В календаре выбирает дату и время вводного
- 13. Как будем делать тех. ревью? От базы/интеграций От api фронтенда От проблемы бизнеса
- 14. И от базы/интеграций и от api Сервис букинга — получить, выбрать, отменить Фронтовое api — получить,
- 17. Чего хочет бизнес от разработки. Качественно — не терять сценарии и лучше понимать бизнес проблемы Быстро
- 18. Что дальше? Опишем сервис Пробуем удовлетворить все 3 потребности Посмотрим со стороны гексагональной архитектуры
- 19. «Allow an application to equally be driven by users, programs, automated test or batch scripts, and
- 20. Hexagonal architecture / Ports and adapters Пользователь Программы Тесты Скрипты Базы Внешние Апи Доп. устройства Приложение
- 21. Попробуем описать сервис — Application Приложение
- 22. class SelfTrialBookingService { ... public function __construct( OperatorsServiceInterface $operatorsService, BookingServiceInterface $bookingService, SelfTrialRepositoryInterface $selfTrialRepository ) { $this->operatorsService
- 23. interface OperatorsServiceInterface { public function holdCall(int $educationServiceId, DateInterval $interval, string $reason): void; public function disableCall(int $educationServiceId,
- 24. interface BookingServiceInterface { public function bookSlot(string $slotId, string $reason): void; public function cancelSlot(string $slotId, string $reason):
- 25. interface SelfTrialRepositoryInterface { public function save(SelfTrial $selfTrial); public function getSelfTrialByEducationServiceId(int $educationServiceId): ?SelfTrial; } Сохранить Получить
- 26. public function startSelfTrialProcess(int $educationServiceId): void { $this->operatorsService->holdCall( $educationServiceId, new DateInterval(self::HOLD_CALL_INTERVAL), 'self_trial' ); $selfTrial = SelfTrial::start($educationServiceId); $this->selfTrialRepository->save($selfTrial);
- 28. public function bookSlot(int $educationServiceId, string $slotId, string $reason): void { $selfTrial = $this ->selfTrialRepository ->getSelfTrialByEducationServiceId($educationServiceId); //Валидация
- 30. public function cancelSelfTrial(int $educationServiceId, string $reason): void { $selfTrial = $this ->selfTrialRepository ->getSelfTrialByEducationServiceId($educationServiceId); //Валидация и DomainException
- 31. Да
- 32. Application Качественно — не терять сценарии и лучше понимать бизнес проблемы Быстро — быстро описывать сценарии
- 33. Насколько это гибко? Вот тут будет кнопка отмены!!!
- 34. Да
- 35. Насколько это гибко?
- 36. public function bookSlot(int $educationServiceId, string $slotId, string $reason): void { $selfTrial = $this ->selfTrialRepository ->getSelfTrialByEducationServiceId($educationServiceId); //Валидация
- 37. + обновление деталей звонка Да
- 38. При чем тут DDD? Ubiquitous Language (единый язык) Можно показать заказчику Если не поймет, покрыть BDD
- 39. Hexagonal architecture / Ports and adapters Пользователь Программы Тесты Скрипты Базы Внешние Апи Доп. устройства Приложение
- 40. Более красивая картинка ;) https://herbertograca.com/2017/09/14/ports-adapters-architecture/
- 41. Зачем Позволяет концентрироваться на домене Выделение бизнес логики Тесты Заменяемые элементы Дисциплина (именование папок, куда что
- 42. Заметки на полях Что с атомарностю (@synchronized)? Почему не ивенты из модели? Где эксепшены?
- 44. Скачать презентацию









































Passive Voice. Начать тест
Игры
Game. Grammar
At the Weekend
First conditional
My family
She, he, they. Тест
Lesson seventeen 17
Welcome to the world of Tag-questions!
Презентация на тему Interesting traditions of China (Интересные традиции Китая)
Вложение к посту
Was and were questions
Обзор пособий по синтетической методике обучения чтению ‘Jolly Phonics’
Agreement between subject and verb
A sneak peek at Jewish life and culture
Past progressive. Прошедшее продолженное время
Hello Autumn
Homework for today
Christmas. Mission possible
Человек и его дом. 7 - 8 классы
An extraordinary story of success
Местоимения some/any (некоторое количество)
Pronunciation rules in English
Personality 3
Would You Rather?
The fauna
S.Seifullin Kazakh AgroTechnical University Department of of the ICT
We pollute the nature