Я работаю над предложением и прототипом для реархитектуры сложной системы. Это n-уровневая распределенная архитектура, которая в целом следует принципам DDD и содержит элементы Луковая архитектура, особенно отделение основной концепции модели предметной области/сервисов (они будут тесно связаны с проблемами предметной области, а некоторые из них в конечном итоге могут быть естественным образом реализованы в виде удаленных служб WCF/рабочих процессов) от концепции более высокого уровня. модели приложения/служб (компоненты, которые обычно координируют действия от имени кода приложения/пользовательского интерфейса и внедряются в качестве зависимостей в эти приложения).
Мне нужно сообщить об этом подходе руководителям и/или разработчикам, которые не были сильно знакомы с сервисно-ориентированными архитектурами, принципами SOLID, внедрением зависимостей, составными приложениями и т. д. Я сталкиваюсь со значительным сопротивлением концепции «службы приложений». не реализуется как служба WCF или «веб».
Для меня «сервисы» — это просто компоненты, которые реализуют своего рода «контракт на обслуживание», который «потребитель услуг» и «поставщик услуг» могут абстрактно согласовать, и это не означает, что это обязательно «веб-сервис», прослушивающий порт на каком-то сервере. Однако кажется, что я просто не могу донести эту мысль — она кажется слишком тонкой или слишком абстрактной.
Я думаю, что мне просто нужен другой термин для «службы приложений», чтобы отличить ее от «веб-службы», но «API», или «SDK», или «вспомогательный класс», или аналогичные термины, которые хорошо понимают моя аудитория, либо неточны, либо не соответствуют действительности. ', кажется, не адекватно описывает понятие.
Любые предложения о том, что было бы хорошим альтернативным термином?
ОБНОВЛЕНИЕ: Недавно я читал о MVVM + Controller (MVVMC или MVCVM) и начал думать, что, возможно, некоторые из наших операций службы приложений действительно можно считать контроллерами. Мне все еще не ясно, как реализация проверки (т.е. IDataErrorInfo) будет работать в этом мире, хотя все бизнес-логика и проверка будут обрабатываться «контроллером», возможно, вызывая событие, подобное (или по сути то же самое, что и) INotifyPropertyChanged.PropertyChanged?