Pull to refresh

Comments 5

Все хорошо и интересно, но как-то названия файлов типа app.routing-routing.module.ts отдают шизофренией. Не совсем понятно почему было выбрано такое , на мой взгляд, плохо сформулированное название.

Спасибо за уточнение. Действительно, была опечатка, поправили на app-routing.module.ts

Спасибо за обзор. Дискуссия по структуре Ангулар проекта частая тема)

Вопрос 1: Где вы храните шаред модели? И где хранятся модели какого-то шаред компонента/сервиса, который как бы нужно импортировать в разные pages но является частью одного компонента.

Вопрос 2: Есть ли у вас взаимодействие между компонентами/сервисами внутри шаред папки?

Рады, что зашло)

Вопрос 1: под shared-модели создается папка models (можно даже алиас создать @models в тсконфиге). Модели shared-компонентов хранятся в папке с компонентом

Вопрос 2: каждый shared-компонент лежит в отдельном минимодуле, которые импортирует себе такие же минимодули, если оные нужны. Переиспользование кода возможно, главное не скидывать все в один глобальный Shared-модуль. Чтобы построить правильно зависимости между модулями, можно посмотреть упомянутый в статье материал про DI & IoC

Стандартная структура проекта, многие так делают. Недостаток в том, что на каком-то этапе папка shared превращается в помойку. Вы сделали разделение в папке shared на компоненты, модули, директивы, пайпы. Я думаю лучше все таки делать разделение по функциональному принципу. Мы вообще UI выносим в библиотеку, так удобнее, а в shared у нас в основном какие-то компоненты, связанные с бизнес-сущностями.

И еще: в shared частая ошибка, что делают один shared модуль и в него все запихивают компонентами, директивами, пайпами итд. Лучше каждую фичу запихивать в свой модуль.

Sign up to leave a comment.