![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| FatherFrost |
|
|||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
Есть Веб-сервис и его клиент. Хочу создать общую иерархию классов. Но возникает проблема с вопросом передачи этих обектов и работе с ними. Есть 2 варианта:
1. Класс на сервере и класс на клиенте это наследники абстрактного. Отличаются у них методы "прогрузки/сохранения" - на сервере данные читаются из базы, на клиенте - через службу. Если так, то встает вопрос - можно ли в принципе сериализовать одного наследника, а десериализовать его в другого наследника. (Реализуемо ли это) 2. Класс и на сервере и на клиенте используется один и тот же. Однако имеет четыре метода - загрузиться/сохраниться в базу, загрузиться/сохраниться через веб службу. Здесь минусы. а) На клиенте придется таскать с собой код работы с базой (может это и не критично). б) Есть риск вызвать "не те" методы на клиенте. Впрочем ими можно пренебречь, этот момент скорее концептуальный. Хочется услышать мнение гуру по этому вопросу. Может быть оба варианта не пригодны, тогда куда копать? -------------------- Задаю много глупых вопросов.... |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
По поводу 1 части, нельзя. Точно так же как нельзя преобразовать из ChildA в ChildB:
Никакой принципиальной разницы между этим кодом и тем, что происходило бы в случае веб-сервиса и клиента, нету. 2 часть решается разными способами. Логичнее всего вынести логику, реализующую низкоуровневую запись и сохранение, в отдельный класс, и переписать твои четыре метода так, чтобы они использовали этот класс. Тогда на сервере можно реализовать реальную загрузку и сохранение, а на клиенте - в виде заглушки, которая ничего не делает. -------------------- ![]() |
|||
|
||||
| FatherFrost |
|
|||
|
Почетный Мороз ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 27.4.2005 Где: Крайний север Репутация: нет Всего: 6 |
Спасибо за совет... Но не очень нравится мне ентот путь....
-------------------- Задаю много глупых вопросов.... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |