Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 08:51
Оценка:
Доброго времени суток!
Возник вопрос:
Как формировать классы динамически?
Нужно для создания объектной БД под .NET.
Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.
Или может, кто посоветует, что почитать… буду очень благодарен.
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re: Динамическое формирование классов.
От: kreek  
Дата: 10.12.02 08:59
Оценка:
Здравствуйте NetStyler, Вы писали:

NS>Доброго времени суток!

NS>Возник вопрос:
NS>Как формировать классы динамически?

Класс сделать один и на основе метаданных набивать свойства сущности в массив.
... << RSDN@Home 1.0 alpha 12 >>
Re: Динамическое формирование классов.
От: Spark2K Россия  
Дата: 10.12.02 09:20
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Доброго времени суток!

NS>Возник вопрос:
NS>Как формировать классы динамически?
NS>Нужно для создания объектной БД под .NET.
NS>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.
NS>Или может, кто посоветует, что почитать… буду очень благодарен.

То о чем ты спрашиваешь описано в книге "C# и платформа .Net" г-на Эндрю Троелсена (см. стр. 328 — 333). Если в кратце, то он использует типы из пространства имен System.Reflection.Emit. Правда добавляет, что это пространство имен, в основном, предназначено для создателей средств разработки. Так что, может для твоей проблемы лучше другое решение (тогда твой вопрос нужно как-то переформулировать и я думаю, что тебе нужно рассказать о проблеме подробнее и, возможно, кто-нибудь предложить более подходящее решение).
Как вариант можешь формировать код на C# динамически и данамически же его генерировать. Вот пример:
using System;


using Microsoft.CSharp;

class TestCScompiller

{
   static void Main(string[] args)
   {
      // этот текст и будем компилировать
      string sText =

@"

using System;

class Foo

{

[STAThread]

static void Main(string[] args)

{

Console.WriteLine(" + "\"Hello world\"" + @");

}

}

";

      // компиляция
      CompilerError[] errs = Compiler.Compile(
            new string[]{sText},
            new string[]{"any_name.cs"},
            "out.exe",
            null,
            null);
      foreach(CompilerError err in errs)
      {
            Console.WriteLine(err);
      }
   }
}
Re[2]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:01
Оценка:
Здравствуйте, Spark2K, Вы писали:

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


Ну собственно нужно динамически добавлять атрибуты в уже существующий класс.
Методы трогать не надо. Да и формирование класса о котором система не знает тоже не нужно.
А то получтся .. создаем неизвестно что, потом делаем на это неизвестно что отображение — выясняем что это.. и еще интрфейсы тоже динамически.... слишком заморочено!
Нужно просто добавить несколлько атрибутов.

NS>>Доброго времени суток!

NS>>Возник вопрос:
NS>>Как формировать классы динамически?
NS>>Нужно для создания объектной БД под .NET.
NS>>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.
NS>>Или может, кто посоветует, что почитать… буду очень благодарен.

SK>То о чем ты спрашиваешь описано в книге "C# и платформа .Net" г-на Эндрю Троелсена (см. стр. 328 — 333). Если в кратце, то он использует типы из пространства имен System.Reflection.Emit. Правда добавляет, что это пространство имен, в основном, предназначено для создателей средств разработки. Так что, может для твоей проблемы лучше другое решение (тогда твой вопрос нужно как-то переформулировать и я думаю, что тебе нужно рассказать о проблеме подробнее и, возможно, кто-нибудь предложить более подходящее решение).

SK>Как вариант можешь формировать код на C# динамически и данамически же его генерировать. Вот пример:
SK>using System;

SK>

SK>
SK>using Microsoft.CSharp;

SK>class TestCScompiller

SK>{
SK>   static void Main(string[] args)
SK>   {
SK>      // этот текст и будем компилировать
SK>      string sText =

SK>@"

SK>using System;

SK>class Foo

SK>{

SK>[STAThread]

SK>static void Main(string[] args)

SK>{

SK>Console.WriteLine(" + "\"Hello world\"" + @");

SK>}

SK>}

SK>";

SK>      // компиляция
SK>      CompilerError[] errs = Compiler.Compile(
SK>            new string[]{sText},
SK>            new string[]{"any_name.cs"},
SK>            "out.exe",
SK>            null,
SK>            null);
SK>      foreach(CompilerError err in errs)
SK>      {
SK>            Console.WriteLine(err);
SK>      }
SK>   }
SK>}
SK>
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[2]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:04
Оценка:
Здравствуйте, Spark2K, Вы писали:

SK>Правда добавляет, что это пространство имен, в основном, предназначено для создателей средств разработки.


Фигню он говорит.
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[2]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:06
Оценка:
Здравствуйте, kreek, Вы писали:

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


Это слишком просто и неудобно.
Может еще идеи есть?
NS>>Доброго времени суток!
NS>>Возник вопрос:
NS>>Как формировать классы динамически?

K>Класс сделать один и на основе метаданных набивать свойства сущности в массив.
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:07
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Возник вопрос:

NS>Как формировать классы динамически?
NS>Нужно для создания объектной БД под .NET.

А зачем динамически? У тебя в процессе работы структура БД меняться будет? Почему не сделать генератор исходников?

NS>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.


А ты про typed dataset и xsd.exe смотрел? Может не надо тебе ничего делать?
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[3]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:07
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Ну собственно нужно динамически добавлять атрибуты в уже существующий класс.


От изврат. Не надо этого делать, не для этого атрибуты предназначены.
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[3]: Динамическое формирование классов.
От: Spark2K Россия  
Дата: 10.12.02 10:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


SK>>Правда добавляет, что это пространство имен, в основном, предназначено для создателей средств разработки.


AVK>Фигню он говорит.


Конструктивно
Re[4]: Динамическое формирование классов.
От: kreek  
Дата: 10.12.02 10:16
Оценка:
Здравствуйте AndrewVK, Вы писали:

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


NS>>Ну собственно нужно динамически добавлять атрибуты в уже существующий класс.


AVK>От изврат. Не надо этого делать, не для этого атрибуты предназначены.



Он под атрибутами понял как атрибуты бизнес сущности, а не наследников System.Attribute.
... << RSDN@Home 1.0 alpha 12 >>
Re[5]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:20
Оценка:
Здравствуйте, kreek, Вы писали:

Правильно поняли.
На самом деле хочется сделать объектный движок к MS SQL.
Думаю он всем будет полезен.
K>Здравствуйте AndrewVK, Вы писали:

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


NS>>>Ну собственно нужно динамически добавлять атрибуты в уже существующий класс.


AVK>>От изврат. Не надо этого делать, не для этого атрибуты предназначены.


K>

K>Он под атрибутами понял как атрибуты бизнес сущности, а не наследников System.Attribute.
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[2]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:25
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Да. Будет динамически меняться.

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

NS>>Возник вопрос:

NS>>Как формировать классы динамически?
NS>>Нужно для создания объектной БД под .NET.

AVK>А зачем динамически? У тебя в процессе работы структура БД меняться будет? Почему не сделать генератор исходников?


NS>>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.


AVK>А ты про typed dataset и xsd.exe смотрел? Может не надо тебе ничего делать?
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[6]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:25
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Правильно поняли.

NS>На самом деле хочется сделать объектный движок к MS SQL.
NS>Думаю он всем будет полезен.

Ты все же ответь — ты xsd.exe смотрел?
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[3]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:28
Оценка:
Здравствуйте, NetStyler, Вы писали:

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


NS>Да. Будет динамически меняться.


Тогда следующий вопрос — зачем?
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[7]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Не смотрел .. а стоит ?
AVK>Здравствуйте, NetStyler, Вы писали:

NS>>Правильно поняли.

NS>>На самом деле хочется сделать объектный движок к MS SQL.
NS>>Думаю он всем будет полезен.

AVK>Ты все же ответь — ты xsd.exe смотрел?
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[7]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:36
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Ну .. это не совсем то .. что мне программу каждый раз пересобирать при изменении объектов ?

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

NS>>Правильно поняли.

NS>>На самом деле хочется сделать объектный движок к MS SQL.
NS>>Думаю он всем будет полезен.

AVK>Ты все же ответь — ты xsd.exe смотрел?
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[3]: Динамическое формирование классов.
От: kreek  
Дата: 10.12.02 10:36
Оценка:
Здравствуйте NetStyler, Вы писали:

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


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


NS>Это слишком просто и неудобно.

NS>Может еще идеи есть?
NS>>>Доброго времени суток!
NS>>>Возник вопрос:
NS>>>Как формировать классы динамически?

K>>Класс сделать один и на основе метаданных набивать свойства сущности в массив.


Отказываться от простоты?

ICustomTypeDescriptor и PropertyDescriptor дадут возможность такие объекты отображать в гриде или использовать датабиндинг.
... << RSDN@Home 1.0 alpha 12 >>
Re[8]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:41
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Не смотрел .. а стоит ?


Стоит. Может как раз то что тебе надо, или хотя бы частично
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[4]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:42
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Хочется создать службу которая:
При пересылки ей объекта — знала как положить его в базу.
При изменениии структуры БД знала как собрать объект.
При изменении объекта — меняла структуру базы.
Поддерживаля связи между объектами и т.д.
Создание объектной БД.

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


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


NS>>Да. Будет динамически меняться.


AVK>Тогда следующий вопрос — зачем?
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[8]: Динамическое формирование классов.
От: МихаилС Россия  
Дата: 10.12.02 10:44
Оценка:
NS>Ну .. это не совсем то .. что мне программу каждый раз пересобирать при изменении объектов ?

а какие тут парадоксы? версия базы при этом меняется.. выдели отдельный уровень — реализуй его
компоненты в отдельной сборке.. иначе не отделаться тебе от тормозов... не везде к сожалению
можно реализовать динамику так, чтобы при этом не "посадить" систему...
Re[9]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 10:48
Оценка:
Здравствуйте, МихаилС, Вы писали:

В этой задаче как раз тормоза не пугают

NS>>Ну .. это не совсем то .. что мне программу каждый раз пересобирать при изменении объектов ?


МС>а какие тут парадоксы? версия базы при этом меняется.. выдели отдельный уровень — реализуй его

МС>компоненты в отдельной сборке.. иначе не отделаться тебе от тормозов... не везде к сожалению
МС>можно реализовать динамику так, чтобы при этом не "посадить" систему...
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[10]: Динамическое формирование классов.
От: МихаилС Россия  
Дата: 10.12.02 10:52
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>В этой задаче как раз тормоза не пугают


а не пугает то, что эти наработки из-за тормозов больше никуда не впихнешь и
не прикрутишь? не пугает осознание того, что сделал что-то еле шевелящееся или
то, что в случае увеличения нагрузки в будушем просто встанет колом и начальство
поставит всех раком (извини. ничего личного, но такая перспектива
есть практически у всех).
Re[8]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:52
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Ну .. это не совсем то .. что мне программу каждый раз пересобирать при изменении объектов ?

NS>

Во-первых — если ты поменял структуру данных то программу тоже скорее всего менять придеться. Во-вторых — зачем пересобирать? Классы в любом случае нужно помещать в отдельную сборку. Вот ее и пересоберешь.

Динамическая генерация нужна только если ты будешь менять структуру базы не закрывая работающей программы. Вот зачем это нужно я и не могу понять.
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[5]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 10:56
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Хочется создать службу которая:

NS>При пересылки ей объекта — знала как положить его в базу.
NS>При изменениии структуры БД знала как собрать объект.

Это все xsd делает

NS>При изменении объекта — меняла структуру базы.


А это ты сам и не сделаешь так просто — по практике использования EJB тебе скажу — лучше базу делать руками.

NS>Поддерживаля связи между объектами и т.д.


И это тоже xsd ltkftn


Сразу ты упустил важнейшую вешь — а кешировать ты собираешься?
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re[6]: Динамическое формирование классов.
От: NetStyler  
Дата: 10.12.02 11:02
Оценка:
Здравствуйте, AndrewVK, Вы писали:

Пока обойдемся без кеширования.
На самом деле я принимал участие в подобной разработке. (давным давно).
И видел что это работало ... теперь надо как-то воспроизвести.
AVK>Здравствуйте, NetStyler, Вы писали:

NS>>Хочется создать службу которая:

NS>>При пересылки ей объекта — знала как положить его в базу.
NS>>При изменениии структуры БД знала как собрать объект.

AVK>Это все xsd делает


NS>>При изменении объекта — меняла структуру базы.


AVK>А это ты сам и не сделаешь так просто — по практике использования EJB тебе скажу — лучше базу делать руками.


NS>>Поддерживаля связи между объектами и т.д.


AVK>И это тоже xsd ltkftn


AVK>

AVK>Сразу ты упустил важнейшую вешь — а кешировать ты собираешься?
Sex Drugs and Linux Rules? Realy? ;-)
ICQ:2489468 MSN:mcloud[at]list.ru
Re[7]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 10.12.02 11:07
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Пока обойдемся без кеширования.


Вряд ли получится

NS>На самом деле я принимал участие в подобной разработке. (давным давно).

NS>И видел что это работало ... теперь надо как-то воспроизвести.

Я сам небольшой проектик на дотнете делал. Преобразователь в БД от него лежит на http://xobjects.narod.ru

И, эта, цитируй поменьше
... << RSDN@Home 1.0 beta 2 (developer build)>>
AVK Blog
Re: Динамическое формирование классов.
От: slv Украина  
Дата: 11.12.02 07:07
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Доброго времени суток!

NS>Возник вопрос:
NS>Как формировать классы динамически?
NS>Нужно для создания объектной БД под .NET.
NS>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.
NS>Или может, кто посоветует, что почитать… буду очень благодарен.

Почитай статью здесь, может
что-то и полезное написали.
Re: Динамическое формирование классов.
От: Low IQ Bastard Россия  
Дата: 11.12.02 10:16
Оценка:
Ни в коей мере не претендуя на звание "умного человека", выскажу своё мнение — возможно, окажется полезным. На мой взгляд, можно определить абстрактный класс, в конструкторе прописать логику создания на основе атрибутов полей и методов, определить эти самые атрибуты. А во время исполнения просто генерить наследников и добавлять поля с заданными атрибутами. Не буду утверждать, что решение оптимальное, но похожую задачу неадвно я решал именно так.

Здравствуйте, NetStyler, Вы писали:
NS>Доброго времени суток!
NS>Возник вопрос:
NS>Как формировать классы динамически?
NS>Нужно для создания объектной БД под .NET.
NS>Конечно, у меня у самого есть кое-какие соображения связанные с сериализацией в XML, но хотелось бы послушать умных людей.
NS>Или может, кто посоветует, что почитать… буду очень благодарен.
Re[2]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 10:35
Оценка:
Здравствуйте, Low IQ Bastard, Вы писали:

LIB>Ни в коей мере не претендуя на звание "умного человека", выскажу своё мнение — возможно, окажется полезным. На мой взгляд, можно определить абстрактный класс, в конструкторе прописать логику создания на основе атрибутов полей и методов, определить эти самые атрибуты. А во время исполнения просто генерить наследников и добавлять поля с заданными атрибутами. Не буду утверждать, что решение оптимальное, но похожую задачу неадвно я решал именно так.


Ну хоть кто нибудь объясните — зачем во время выполнения?
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[3]: Динамическое формирование классов.
От: Low IQ Bastard Россия  
Дата: 11.12.02 11:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну хоть кто нибудь объясните — зачем во время выполнения?

Вопрос был — "как".
Re[4]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 11:25
Оценка:
Здравствуйте, Low IQ Bastard, Вы писали:

AVK>>Ну хоть кто нибудь объясните — зачем во время выполнения?

LIB>Вопрос был — "как".

На этот вопрос уже давно ответили.

И все таки — зачем?
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[4]: Динамическое формирование классов.
От: Аноним  
Дата: 11.12.02 11:54
Оценка:
Здравствуйте,

Про надстройки над СУБД, можно сказать, что есть ObjectSpaces От
Microsoft и еще видел ObjectPersistor.NET на www.dotnetpark.com от
буларусов .

Посмотри, может полезное что для себя найдешь.
Re[5]: Динамическое формирование классов.
От: Low IQ Bastard Россия  
Дата: 11.12.02 12:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>И все таки — зачем?

Если быть точным — смысл был не в генерировании самого класса во время выполнения (их исходники как раз генерились автоматически), а в упрощении работы — не писать каждый раз конструктор, методы и т.д. — свести генерацию к созданию наследника, указанию полей и атрибутов. Ну и такой же подход можно использовать для генерации во время выполнения.
Re[6]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 12:11
Оценка:
Здравствуйте, Low IQ Bastard, Вы писали:

LIB>Если быть точным — смысл был не в генерировании самого класса во время выполнения (их исходники как раз генерились автоматически), а в упрощении работы — не писать каждый раз конструктор, методы и т.д. — свести генерацию к созданию наследника, указанию полей и атрибутов. Ну и такой же подход можно использовать для генерации во время выполнения.


Понятно. Но тут тебя ждет другая засада — в этом случае тебе придется сам код генерить прямо в опкодах. ИМХО лучше сгенерить и скомпилировать исходники. Плюс возможность просмотреть генеренные исходники иногда очень удобна. И большинство родных утилит генерируют исходники, исключение составляет только tlbimp.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[5]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 18:45
Оценка:
Здравствуйте, NetStyler, Вы писали:

NS>Создание объектной БД.


А может проще взять готовую? Ну Каше например.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 18:45
Оценка:
Здравствуйте, NetStyler, Вы писали:

Ты для начала оверквотить пересатьн.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 18:45
Оценка:
Здравствуйте, kreek, Вы писали:

K>ICustomTypeDescriptor и PropertyDescriptor дадут возможность такие объекты отображать в гриде или использовать датабиндинг.


Да в принципе их можно при этом и через PropertyDescriptor вызывать в лучшем виде. Вот только для статического вызова это доступно не будет. Разве что если вызов делать из JScript.NET.

Кстати, об этом можно статейку написать... Если интересно.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 18:48
Оценка:
Здравствуйте, VladD2, Вы писали:

NS>>Создание объектной БД.


VD>А может проще взять готовую? Ну Каше например.


Не Влад, ребяты имеют ввиду создание ОО прослойки, вроде EJB или Castor. Вот только еще не знают сколько при этом надо сил положить чтобы получить приемлемое быстродействие.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[7]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 19:39
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Не Влад, ребяты имеют ввиду создание ОО прослойки, вроде EJB или Castor. Вот только еще не знают сколько при этом надо сил положить чтобы получить приемлемое быстродействие.


Вот я и говорю. Готовая ООБД будет куда лучше и проще.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Динамическое формирование классов.
От: kreek  
Дата: 11.12.02 19:43
Оценка:
Здравствуйте VladD2, Вы писали:

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


K>>ICustomTypeDescriptor и PropertyDescriptor дадут возможность такие объекты отображать в гриде или использовать датабиндинг.


VD>Да в принципе их можно при этом и через PropertyDescriptor вызывать в лучшем виде. Вот только для статического вызова это доступно не будет. Разве что если вызов делать из JScript.NET.


VD>Кстати, об этом можно статейку написать... Если интересно.


Сории за непонимание статического вызова, вот только если грид читает метаданные о объекте, то ему это все можно подсунуть в рантайме, т.е он это скушает. Пока я писал предидущее предложение, догнал, что ты подразумеваешь под статическим вызовом — т.е. это, то что отображает IntelliSense? тогда можно VB.NET для позднего связывания. Или я тут смешал разые понятия?

А статья нужна людям! Кстати есть наработки по этому поводу.
... << RSDN@Home 1.0 alpha 12 >>
Re[6]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 19:58
Оценка:
Здравствуйте, kreek, Вы писали:

K>Сории за непонимание статического вызова, вот только если грид читает метаданные о объекте, то ему это все можно подсунуть в рантайме, т.е он это скушает. Пока я писал предидущее предложение, догнал, что ты подразумеваешь под статическим вызовом — т.е. это, то что отображает IntelliSense? тогда можно VB.NET для позднего связывания. Или я тут смешал разые понятия?


Я не знаю потянет ли VB.NET это дело. Но даже если и поянет, то вызов будет динамическим. Т.е. с помощью PropertyDescriptor и в рантайме. Во время компиляции VB.NET не будет знать что это за тип.

Под статическим вызовом я понимаю нормальный код на том же VB.NET или шарпе. Так например от этого объекта нельзя будет унаследоваться или нельзя будет просто считать свойство. Т.е. можно будет сделать так:

K>А статья нужна людям! Кстати есть наработки по этому поводу.


object c = new Class2();
Type t = c.GetType();

pd = pdc["DinTestStr"];
pd.SetValue(c, "Свойство DinTestStr");
Console.WriteLine(pd.GetValue(c).ToString());


Или (возомжно):
Dim c as Object = new Class2()
Console.WriteLine c.DinTestStr


Но нельзя будет написать:
Dim c as Class2 = new Class2()
Console.WriteLine c.DinTestStr

или
Class2 c = new Class2();
Console.WriteLine(c.DinTestStr);
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Динамическое формирование классов.
От: kreek  
Дата: 11.12.02 20:04
Оценка:
Здравствуйте VladD2, Вы писали:

Так можно описать базовый класс, который помимо Custom Type Definition будет напрямую предоставлять доступ к свойствам, типа, string or ValueType {get, set}SimpleValue[SimpleValPropertyName] & Business_Object {get, set}RefValue[RefValPropertyName]
... << RSDN@Home 1.0 alpha 12 >>
Re[8]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 20:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот я и говорю. Готовая ООБД будет куда лучше и проще.


У народа похоже в крови лисапеды изобретать.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[9]: Динамическое формирование классов.
От: kreek  
Дата: 11.12.02 20:18
Оценка:
Здравствуйте AndrewVK, Вы писали:

AVK>У народа похоже в крови лисапеды изобретать.


Неа, охота свою инфраструктуру иметь, на основе которой клепать и клепать приложения
... << RSDN@Home 1.0 alpha 12 >>
Re[10]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 20:20
Оценка:
Здравствуйте, kreek, Вы писали:

K>Неа, охота свою инфраструктуру иметь, на основе которой клепать и клепать приложения


А зачем свою? Чем не устраивают существующие? Сколько вобще существующих видел?
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[11]: Динамическое формирование классов.
От: kreek  
Дата: 11.12.02 20:27
Оценка:
Здравствуйте AndrewVK, Вы писали:

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


K>>Неа, охота свою инфраструктуру иметь, на основе которой клепать и клепать приложения


AVK>А зачем свою? Чем не устраивают существующие? Сколько вобще существующих видел?


Пару видел (названия не помню, одна под ДотНет, кажись DotNetPark.сом, другая визуальная под Джаву), для крупного проекта нужна своя, не хочу на уверсальности многое терять.
... << RSDN@Home 1.0 alpha 12 >>
Re[12]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 20:33
Оценка:
Здравствуйте, kreek, Вы писали:

K>Пару видел (названия не помню, одна под ДотНет, кажись DotNetPark.сом, другая визуальная под Джаву), для крупного проекта нужна своя, не хочу на уверсальности многое терять.


Даже если писать свою тебе как минимум нужно ознакомиться с теми решениями что предлагает индустрия. Ты просто еще не представляешь какой геморой тебя ждет.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[9]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 20:34
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>У народа похоже в крови лисапеды изобретать.


Ну это святое.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 20:34
Оценка:
Здравствуйте, kreek, Вы писали:

K>Неа, охота свою инфраструктуру иметь, на основе которой клепать и клепать приложения


Ну тогда начинай с своей СУБД. Так инфраструктура будет полнее.

Ну или не выпендривайся и используй ДатаСеты из адо.нэт или вообще рекорсеты из обычного адо. Ну а на клиенте можешь и обертку сделать, шоб все було в ОО-стиле.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[11]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 20:34
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>А зачем свою? Чем не устраивают существующие? Сколько вобще существующих видел?


Если ты о типизированных датасетах, то они конечно кривоваты. Столько года когда нужно то всего легкую оберточку над отключенным крусором.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 20:34
Оценка:
Здравствуйте, kreek, Вы писали:

K>Так можно описать базовый класс, который помимо Custom Type Definition будет напрямую предоставлять доступ к свойствам, типа, string or ValueType {get, set}SimpleValue[SimpleValPropertyName] & Business_Object {get, set}RefValue[RefValPropertyName]


Ну и чем это от датасета будет отличаться? Что городить огород на пустом месте?
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 20:40
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>А зачем свою? Чем не устраивают существующие? Сколько вобще существующих видел?


VD>Если ты о типизированных датасетах,


Нет, я вобще о подобных решениях, о каше, о EJB и т.д.

VD>то они конечно кривоваты. Столько года когда нужно то всего легкую оберточку над отключенным крусором.


Это разве много? Так, мелочь. Ты много не видел. У нас на джаве в свое время код мегабайтами генерился.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[13]: Динамическое формирование классов.
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.12.02 20:48
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Это разве много? Так, мелочь. Ты много не видел. У нас на джаве в свое время код мегабайтами генерился.


Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было. Кстати, производительность турда от этого вряд ли повысится. Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях. По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).

Самый большой прикол со всеми этими обертками заключается в том, что работать нужно со множествами (ну таблицами/списками если по рабочекрестьянски выражаться), а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB). Вот в ООСУБД другое дело. Там и запросы вс6 в терминах ОО. И хранение соотвествующее. Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.
... << RSDN@Home 1.0 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:08
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:11
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:14
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:17
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:26
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[14]: Динамическое формирование классов.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.12.02 21:34
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну и зачем? Там делов то... обернуть датасет чтобы из кода работать удобнее было.


Ага, а еще чтобы ко всем отношениям коллекции были, а еще чтобы это чудо сериализоваться умело. Ты посмотри код, нет там ничего лишнего, все по делу.

VD>Кстати, производительность турда от этого вряд ли повысится.


Не Влад, повышается очень сильно, проверено на практике.

VD>Я бы делал больший упор на визуализацию. 90% работы с БД можно визуально делать. Там же жесткие алгоритмы. А логику можно на сервере обрабатывать. Презинтационную на событиях.


А по хорошему презентационной логики программист вобще почти не должен писать.

VD>По мне так выбрал РСУБД так и работай в ее терминах. Хочешь объеты в БД, то и выбирай ООБД или на худой конец нечно вроде хмл-я (то тут свои проблемы).


Это уже топкая область, тут никаких решений вроде делай так и никак иначе нет.

VD> а все эти обертки или вообще упускают этот вопрос или становятся крайне не эффективными (как EJB).


Да, пожалуй главный недостаток. Но сами датасеты тоже самое — никаких групповых операций они не делают.

VD> Жаль только что на рынке ООСУБД нет пока нет явного лидера вроде МС или Оракла.


Жаль. Но я бы удовлетворился хорошей XML БД, ее до уровня ООБД отмапить несложно. Вот только МС все нас завтраками кормит, а сам пока предлагает только какие то нелепые примочки.
... << RSDN@Home 1.0 beta 2 (np: тихо) >>
AVK Blog
Re[9]: Динамическое формирование классов.
От: kreek  
Дата: 13.12.02 10:16
Оценка:
Здравствуйте VladD2, Вы писали:

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


K>>Так можно описать базовый класс, который помимо Custom Type Definition будет напрямую предоставлять доступ к свойствам, типа, string or ValueType {get, set}SimpleValue[SimpleValPropertyName] & Business_Object {get, set}RefValue[RefValPropertyName]


VD>Ну и чем это от датасета будет отличаться? Что городить огород на пустом месте?


Возможность описывать связи между сущностями в метаданных, а не в типизированных датасетах.
Например, сегодня для отображения договоров, достаточно показать наименования клиента, а завтра клиент захочет увидеть в этом списке еще и группу клиента. Придется менять датасет, перекомпилировать клиента и может еще уровень доступа к данным.
... << RSDN@Home 1.0 alpha 12 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.