Прокси предоставляет то же поведение, что и скрытый объект. Прокси-сервер обычно используется для связи с удаленным объектом, не зная, как с ним связаться. Примером является служба WCF, вы можете инкапсулировать доступ к службе в прокси-сервер, который предоставляет тот же интерфейс, что и служба wcf, но скрывает детали реализации, например, используя метод channelelfactory и обрабатывает ошибки и т. Д. ... Это похоже на то, что вы говорите клиенту к службе WCF локально.
Адаптер также скрывает базовый объект, но он преобразует данные, которые вы обмениваете с ним в нужном формате и содержимом, используемом базовым объектом. Примером может служить устаревшая система, как говорит Гоблин. Вы инкапсулируете сложность общения с унаследованной системой (возможно, она использует chatty или CRUDy API и вы хотите скрыть ее за грубую работу) в адаптер, чтобы обеспечить простой способ общения с унаследованной системой вашим клиентам.
Вот как я это понимаю.
EDIT: Кстати, я лично считаю, что вам не нужно видеть имена шаблонов проектов как конечные все-все-все. Выберите правильный шаблон, основанный на том, чего вы хотите достичь, и назовите его, как хотите.