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

Вместе мы научимся раскладывать весь этот код по местам. Потренируемся в объектно-ориентированной декомпозиции для грамотного проектирования сущностей по обязанностям. Научимся сочинять ко всему этому быстрые, удобные и надёжные юнит-тесты.

Как производить отделение UI от бизнес-логики, чтобы не было протечек слоёв в MVC. Научимся создавать агрегаты для сущностей предметной области для соблюдения инварианта. Какие проверки поместить в сущность, а какие - в сервисный слой. Как производить валидацию и использовать исключения.

Comments

Comments are closed.

Rated 5

Анна at 12:50 on 18 May 2019

Спасибо большое за доклад! Смотрю ваши видео-лекции на вашем ютуб канале, как мне показалось, вы очень здорово прокачали свои скиллы в ораторском искусстве, доклад звучал очень бодро, по дело, очень много успели рассказать за такое короткое время. Мини-нюанс, возможно, можно было бы убрать пару функций и реализаций из второй части, чтобы немного сократить доклад (успели бы вопросы позадавать), потому что в целом идея была понятна.
Хотелось бы чтобы Вы рассказали побольше про Use Case, чтобы проверить, правильно ли я поняла вашу идею.
Может быть вы планируете выпустить пост в блоге на тему Use Case, просто несколько примеров, как организовать классы, один UseCase - один метод или один файл и все такое, думаю многим будет интересно поглубже копнуть в эту сторону.
Спасибо еще раз за доклад!

Rated 4

Igor Somov at 14:18 on 19 May 2019

Хороший доклад, но показалось что материала слишком много, чтобы структурировано подать.

Ну и как отмечали в бизнес сущности orm это не совсем грамотное ООП.

Как совет сократить объём и сосредоточиться на нём.