-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Структура проекта #32
Comments
Нет правильной структуры. В начале проекта, всё как в фреймворке - контроллеры там то, ДТОшки там то. ПОтом если проект растёт, то становится более удобно поделить по фиче-модулям. И каждый модуль всё своё держит в себе(и контроллеры и модельки и всё). Иногда отделяют домен прям совсем-совсем. Во всяких си-шарп проектах это удобно очень в отдельный проект-сборку(*.dll). А иногда вообще по микросервисам делят. Это не так уж и важно что где лежит. Главное, чтобы был хоть какой-то порядок в этом. Регламентированный. |
@adelf Ну как я понимаю в DDD подходе есть сложившиеся рекомендации. Инфраструктура, Сервисы, Домен и т.к. |
Да. Как и в книге этой, это назвал слоями. Т.е. фактически они отделены друг от друга. но это разделение логическое. Некоторые держат каждый слой в своей папке. А некоторые берут и всё-всё, что касается например юзеров, все репозитории, сервисы, модели и т.д. в одну папку кладут и им так лучше. Поэтому главное тут понять для себя как удобнее на данном конкретном проекте. |
@adelf Спасибо !Насколько это хороший пример для DDD https://github.com/shin1x1/laravel-ddd-sample ? |
Книга замечательная. Спасибо огромное !
После прочтения у меня остался вопрос. Как правильно создать структуру. В какую директорию сохранять Domain слой. Куда сохранить DTO(В одну директорию все или на поддиректории), и прочее. Очень хотелось бы увидеть пособие/пример. Если бы к книге был хоть манюсенький пример проекта(ссылка на github или даже платный вариант. Было бы здорово.). Пример в таком ввиде:
-DomainLayer
-DTO
--User
--Setting
The text was updated successfully, but these errors were encountered: