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









































Flaing by to say hi
Ask questions
Medical examination
School Supplies
What food you choose
Last Christmas there was a near calamity (catastrophe), because Father Christmas was ill
Frequency adverbs
It is a Good Day
Multicultural-Britain
Say the adjectives
Фонетическая разминка
Monsters Interactive Book kids
Present Perfect Continuous
Repas
Rules of good health
Present Continuous Tense
My own game
Space Ideas
Positive notes jar
Irregular verbs. Part-3
The most well-known street
Irregular verbs
What is this?
Презентация на тему Британский музей
Артикли a и an
Banksy. Where do you expect to see graffiti?
Tag Questions practice. Test
Презентация на тему Albert Einstein - Альберт Эйнштейн