Есть ли причина хранить интерфейс WCF в отдельном файле? - PullRequest
3 голосов
/ 15 ноября 2010

Полагаю, это просто личный стиль, но я ненавижу иметь 2 файла для моих служб WCF.Мне нравится копировать / вставлять интерфейс в файл .cs, так что мне приходится иметь дело только с одним файлом.

Есть ли какие-либо опасности в этом?

Ответы [ 2 ]

3 голосов
/ 15 ноября 2010

Не опасно само по себе - но бывают случаи, когда очень полезно иметь отдельную сборку с вашими контрактами на обслуживание, работу и данные (в основном только контракты, интерфейсы) - когда вам нужно разделить их между сервероми на стороне клиента.

Нет никакого смысла делить весь код реализации сервиса (фактический класс сервиса, который реализует интерфейс сервиса) с клиентом.

Плюс: если у вас есть интерфейсы в отдельном файле (и, возможно, в сборке), это облегчает написание модульных тестов, особенно если вы хотите смоделировать сервис.Немного запутанно, если вы смешиваете интерфейс и класс в одном файле.

Поэтому я считаю полезным и полезным, чтобы иметь отдельные файлы для интерфейсов и реализаций (фактически: всегда только один класс на файл),и поместить все сервисные и информационные контракты (и контракты на отказ) в отдельную сборку.

1 голос
/ 15 ноября 2010

На самом деле, мне нравится выходить за рамки двух файлов и иметь два отдельных проекта. Один проект содержит определение интерфейса. Основное значение для интеграционного тестирования. Мне нравится делать третий проект с клиентом WCF. Этот клиент обращается к интерфейсу в «общей» сборке.

Помните мантру Тестуса : «При написании (производственного) кода подумайте о тесте; при написании теста подумайте о коде».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...