Нужно ли в данной ситуации разделить ответственность?
Добрый вечер, господа.
У меня есть класс - компонент, который:
1. Рендерит форму (Shadow DOM, style и тд) (document.createElement ...)
2. Прикрепляет обработчики событий на эту форму и ее элементы.
3. Обрабатывает события этой формы
И так, мне жутко не нравится что этот класс вроде как и "рендерит и работает с формой", что подходит под "единую ответственность"
НО в тоже время один только рендер( создание элементов document.createElement , вставка стилей и тп) занимает больше половины класса, и вроде как хочется создать отдельный класс, который будет это выполнять, и агрегировать его из моего компонента.
Как лучше это все реализовать?
Как не удариться в крайность и не начать отделять лишнее? (не могу нащупать ту тонкую грань)
Можете попробовать сделать фабрику.
Форма создаёт себя и обрабатывает собственные события. И вызывает конструкторы для дочерних элементов. И отдельный класс для каждого элемента. Он рендерит себя и обрабатывает все события связанные с этим одним элементом
Alex , у формы пару простых input и button submit, не будет лишним для них создавать отдельные классы?
Ну тоесть вы считаете, что все таки нужно отделить создание и обработку событий формы в отдельный класс?
alex4answ, Ну вот вы же хотите это дела разделить?
Вот class From создаёт только тег <form> создаёт для него стили, навешивает обработчики если нужно. И вызывает конструктор class Input который делает то же самое но уже для своего элемента <input>
Шохрух Шаймардонов, Alex, я сейчас удалю этот вопрос, переформулирую правильно и задам новый, не баньте пожалуйста меня))
Я понял что не так задал вопрос
Шохрух Шаймардонов, ладно, раньше была просто такая возможность, ладно тогда сначала перечитаю лишний раз все, потом уже приду уточнить детали, спасибо за помощь