2010-06-13 3 views
0

В теории я хотел бы производить 2 проекта:.NET Развертывание интерфейса/классов для команда Вопрос

1) Asp.net (Sever A)

2) DAL работает (сервер B)

Я хотел бы использовать объекты команды для общения с DAL.

ASP.net создает экземпляр класса команд, например. CmdGetAllUsers, который внедряет интерфейс IMyCommand и отправляет его в DAL (используя ASMX или WCF).

Мой вопрос:

бы определение класса CmdGetAllUsers должны существовать на сервере DAL? Или будет достаточно определения интерфейса?

Моя цель состоит в том, чтобы уменьшить необходимость повторного развертывания кода DAL и иметь его как довольно простой сквозной уровень.

Большое спасибо за ваше время.

ответ

0

Чтобы ответить на ваш вопрос, нет, определение интерфейса недостаточно. Он должен иметь конкретную реализацию, потому что там используется код для реализации методов. Нет кода для реализации, без выполнения.

На заметку большего размера, почему бы просто не реализовать методы в сервисном слое напрямую? Вместо того, чтобы передавать команду обратно на свой уровень данных, чтобы выполнить, уровень сервиса реализует метод как «команду». Ваш DAL будет более условным, но это хорошая вещь, я думаю. Вместо того, чтобы рассеивать ваш код DB во всех реализациях класса Command, вы будете локализованы в DAL. У вас также будет центральное место (услуга) для выполнения любых правил, связанных с бизнесом.

+0

DAL автогенерируется и не используется для выполнения таких правил. Лично я хочу удалить необходимость в том, чтобы он находился на отдельной машине, однако, если я вынужден сохранить его, я хотел бы, если это возможно, заставить его действовать просто как сквозной уровень, чтобы снизить затраты на разработку/развертывание. Спасибо за ваш вклад. – Jonno

Смежные вопросы