Требуется помощь
От: Axin  
Дата: 01.04.04 14:56
Оценка:
Необходимо разработать систему автоматизации.

Представляем себе это следующим образом :
1. Cервер с кучей объектов разных типов (с бизнеслогикой реальных железок).
2. Полями объекта могут являться другие объекты.
public class Computer : IDObject
{
public Port[] ports;
}
3. Конфигуратор, с помощью которого можно создавать/уничтожать и настраивать объекты.
4. В конфигураторе должна быть возможность редактировать скрипты, в которых учавствуют объекты ядра.
5. Конфигурация хранится на стороне сервера.


Пытаемся реализовать следующим образом:

1. Пишется все на .NET (C#), т.к. MS обещает скорую смерть COM.
2. Объекты ядра предполагается делать с поддержкой Remoting-a.
3. Конфигурацию предполагается сохранять/прогружать из XML при помощи стандартного сериализатора или форматтера.


Столкнулись со следующими трудностями:

1. Возникли проблемы при сериализации объектов ядра в XML. Непонятно, каким образом при старте сервер будет восстанавливать граф объектов.
2. Какие вообще есть рекоменации по хранению объектов с бизнеслогикой?
Re: Требуется помощь
От: Graven Россия  
Дата: 01.04.04 19:39
Оценка:
Здравствуйте, Axin, Вы писали:

A>1. Cервер с кучей объектов разных типов (с бизнеслогикой реальных железок).

бизнес-логика задана жестко и в процессе работы не меняется?
тогда зачем ее сериализовывать?

A>2. Полями объекта могут являться другие объекты.

задать каждому объекту guid и переопределить сериализацию, заменяя пойнтеры на гуиды
... << RSDN@Home 1.1.3 stable >>
Re[2]: Требуется помощь
От: Axin  
Дата: 02.04.04 07:47
Оценка:
Здравствуйте, Graven, Вы писали:

G>Здравствуйте, Axin, Вы писали:


A>>1. Cервер с кучей объектов разных типов (с бизнеслогикой реальных железок).

G>бизнес-логика задана жестко и в процессе работы не меняется?
G>тогда зачем ее сериализовывать?
Сеарилизовывать состояния объектов, которые могут меняться в процессе работы.
Например, изменились показания какого-нибудь датчика, также состояния может изменять конфигуратор.

A>>2. Полями объекта могут являться другие объекты.

G>задать каждому объекту guid и переопределить сериализацию, заменяя пойнтеры на гуиды
Имеется ввиду использование сургатного сериализатора?
Это вариант, но проблема немного в другом. Мы вообще не можем сериализовать объекты, унаследованные от MarshalByRefObject.
Есть ли какие нибудь стандартные решения?
Re[3]: Требуется помощь
От: EM Великобритания  
Дата: 02.04.04 09:05
Оценка:
Здравствуйте, Axin, Вы писали:

A>Есть ли какие нибудь стандартные решения?


Как вариант можно заюзать вот этот паттерн после этого можно засериализовать полученный объект состояния
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.