Я работаю над уникальным приложением для Windows, которое требует как автономного, так и распределенного режима развертывания. В автономном режиме вся программа будет работать на одном настольном компьютере. В распределенном режиме на настольных компьютерах будет работать несколько тонких клиентов, которые будут взаимодействовать с сервером приложений (IIS) и базой данных через локальную сеть.
Я напишу программу с использованием логической n-уровневой архитектуры для разделения GUI, бизнес-логики и уровня доступа к данным.
В идеале я хочу, чтобы код для автономного режима был таким же, как и в распределенном режиме, но просто развернут по-другому. Имеет ли смысл тогда использовать WCF (или некоторую форму веб-сервисов) в автономном режиме, чтобы затем его можно было развернуть в распределенном режиме без необходимости значительных изменений кода? Есть ли лучший способ сделать это?
Спасибо!