Содержание
- 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. Скачать презентацию









































Present Simple-Continuous
Reading passage
Conditional_Semantics
Divergent
Презентация на тему School subjects (3 класс)
Summarizing the chosen book
At the circus! Spotlight 2
Prepositions of time
Interpersonal Communication Skills
Language. The Left Hemisphere plays a leading role in language processing
Unit 3 revise
Phrasal verbs
At the house
Презентация на тему Word building
Now Speaking
Презентация на тему City (Город)
Useful technical verbs
“Be” is the most irregular English verb It got semantically joined in times of Middle English from three different verbs
Seasons and actions
Global catastrophes
Презентация на тему Famous people
Is driving
Play
Eagles - ESL Classroom
THERE IS_ARE (1)
Questions By Pocket Passport
Have you got a rubber
Pirate's Night (часть 3)