В поисках терминологии и планировки: сквозная технология полного цикла, аналогичная компонентам в переднем веб-разработчике
Пожалуйста, потерпите меня, я не уверен, смогу ли я сформулировать свой вопрос так хорошо, поэтому часть проблемы заключается в поиске правильной терминологии / системы отсчета, чтобы задать ее.
Насколько я понимаю, типичный аргумент, который был выдвинут против современной тенденции "компонентного дизайна" в front-end web dev, заключается в том, что это нарушит правило разделения интересов. Рассматриваемое разделение проблем будет заключаться в (семантическом) структурировании документа, его оформлении и добавлении поведения. Но, конечно, мы знаем (сейчас), что на самом деле это не нарушение SOC. Хотя это может "пересечь" эти три "слоя", различие между слоями оказывается не значимым различием для этой ситуации. В самом деле, SOC остается в силе, если мы сократим озабоченность в отношении частей пользовательского интерфейса. По сути, мы изменили фокус с разделения "технологий" (HTML для структуры, CSS для стиля, JS для поведения) на разделение сегментов пользовательского интерфейса, что было бы "перекрестным переходом", если я использую термин правильно.
Итак, теперь давайте рассмотрим эту вторую ситуацию, классическое "разделение работы" между базой данных, back-end и front-end. Опять же, есть, я бы сказал, прагматичное / реалистическое разделение, основанное на технологиях (и, возможно, также на локальном уровне), между хранением данных (дБ), бизнес-логикой (бэкэнд) и пользовательским интерфейсом (фронт-энд). Но, конечно же, всякий раз, когда я обнаруживаю, что добавляю какую-то часть функциональности в инфраструктуру с этими установленными частями программного обеспечения, например, внутренний (база данных +) и внешний интерфейс, я сталкиваюсь с проблемой, которую вы ожидаете: часть функциональности требует модификации во всех этих проектах, а для их запуска требуется некоторая оркестровка и т. д. Аналогия с переходом внешнего интерфейса к компонентам совершенно ясна, и было бы очень разумным, если бы существовал что-то вроде "компонента" "что" поперечные разрезы "эти три слоя, а также. Т.е. модульная часть кода, которая обрабатывает часть функциональности через эти три уровня: знание, что ей нужна таблица базы данных, знание некоторых бизнес-правил и знание логики пользовательского интерфейса.
What Разумно ли то, что я говорю?
⇨ Если да, есть ли какие-нибудь ключевые / новаторские проекты где-нибудь, пытающиеся достичь чего-то подобного?
(Лучший пример, который я могу придумать, - это тенденция работать JS повсеместно, но я никогда не видел, чтобы эта идея была направлена на приведенные выше соображения.)