Мне сейчас требуется разработать догику доступа к данным и бизнес-логику для ... ммм. интернет-магазина. Если можно его так назвать. Не важно. Особенностью его будет то, что он будет включать в себя обычную WebForm часть и винформовский клиент (админка).
Поэтому меня заинтересовал вопрос, стоит ли искать что-то общее в бизнес-логике и DAL для вебформ и винформ. Из-за разной специфики я не вижу смысла с одной стороны использовать тяжелые датасеты в вебформах и с другой стороны писать сложные пользовательские бизнес-объекты, которые могли бы стать заменой датасета в винформс. Оно вроде и понятно.
Проблема довольно расплывчатая, просто может уже кто-то сталкивался с таким подходом. Дайте совет
Здравствуйте, ][tiger, Вы писали:
T>Мне сейчас требуется разработать догику доступа к данным и бизнес-логику для ... ммм. интернет-магазина. Если можно его так назвать. Не важно. Особенностью его будет то, что он будет включать в себя обычную WebForm часть и винформовский клиент (админка).
T>Поэтому меня заинтересовал вопрос, стоит ли искать что-то общее в бизнес-логике и DAL для вебформ и винформ. Из-за разной специфики я не вижу смысла с одной стороны использовать тяжелые датасеты в вебформах и с другой стороны писать сложные пользовательские бизнес-объекты, которые могли бы стать заменой датасета в винформс. Оно вроде и понятно.
>в бизнес-логике и DAL для вебформ и винформ
Собственно ваш DAL должен быть универсальным для всех видов приложений — это практически аксиома. Что касается среднего слоя, то вы совершенно правильно заметили принципиальную разницу между двумя технологиями. Не пытайтесь сделать его универсальным, иначе потеряете в производительности кода. Лучше оформить средний слой внутри каждого приложения на базе общих логических интерфейсов.
В общем тут нужно поконкретней сформулировать задачу. Пишите — готов ответить на вопросы.
Хм. Магазин будет похож на IBuySpy Винформ клиент я думаю будет работать с базой через веб-сервисы — нужно предоставить возможность работы клиента через интернет. Даже не знаю, какие подробности здесь еще могут помочь.
Вот про DAL интересно. А разве получиться сделать его универсальным? Я мало работал в веб-сервисами, не уверен, что можно адаптерами пользоваться в этом случае, но если бы к примеру такого требования не было, то тогда вообще даже способ досутпа к данным разный (обычно) — в случае вебформ это датаридеры и команды, а в винформс (если используем датасет) — это датаадаптеры.
>в случае вебформ это датаридеры и команды, а в винформс (если >используем датасет) — это датаадаптеры.
Это действительно так. Но тем не менее вы можете построить универсальный DAL, используя например возможности перегрузки (сразу говорю что лучшим вариантом является создание различных классов). Сразу понимаю ваш скептецизм. Конечно, не во всех случаях удастся получить одинаковые реализации (что хорошо DataSet, то ридеру смерть ). Но универсальная модель, построенная на интерфейсах, скажем, может быть одна. Наследуясь от модели (например простейшая CRUD-логика), вы можете создать свои подуровни (реализации) как для WinForms, так и для Web. Эти подуровни будут уже максимально близки к среднему слою (т.е. в среднем слое только будут отображаться данные подуровня).
Вот такие рассуждения.
>Есть ли смысл в том, чтобы webforms общались с базой через веб->сервис, или это как-то не то?
честно говоря я не вижу в этом никакой необходимости, если вы планируете web-services всего лишь как мост между порталом и сервером БД.