Как удостовериться в правильности архитектуры Angular 4 (2) приложения?
Есть приложение на Angular 4, которое имеет множество похожих компонентов (с похожими полями и кнопками, но разными данными). Как только нужно добавить одинаковый функционал во все эти схожие компоненты, начинается рутина: полный копипаст нового функционала во все файлы с последующим изменением названий переменных. Мне кажется, что это не самый лучший вариант реализации архитектуры. Может нужно сделать общий компонент, который динамически строит DOM?
Вопрос на самом деле очень общий. Если компоненты идентичны, то их можно наследовать, одинот другого. Если один и тоже функционал требуется во множестве компонентов, то его нужно вынести в сервис и инжектить в конструктор. И да, компоненты можно создавать динамически.
Ну можно сделать абстрактный класс от которого будут наследоваться ваши похожие компоненты. Общее можно вынести в абстрактный класс.
Можно вместо абстрактного класса сделать класс в котором так же будет все общее, и его сделать членом компонента и дальше дергать его методы и переменные.