powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Вопрос-предложение по архитектуре
18 сообщений из 18, страница 1 из 1
Вопрос-предложение по архитектуре
    #35356978
Sanchez911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня давно в голове крутится идея, которая касается взаимодействия объектной модели и реляционной. Больше всего я занимался сайтами (на php), но с Winforms тоже такая проблема возникает. А именно: почитал я Фаулера, который советует кучу разных вариантов - шлюзы данных, активные записи и т.п. Но беда в том, что если у сущности много полей, то запрограммировать это дело еще не так сложно, а вот потом вносить изменения - сущий кошмар. Например, просят добавить еще 2 поля, значит изменения нужно внести:
- в таблицу в базе данных
- в классе: метод загрузки себя из базы, записи себя, обновления
- еще в классе, если дело касается веба: загрузка значений из HTTP-запроса, их фильтрация, сохранение/чтение в сессии и т.п.
- в отображении: всевозможные формы отображения, редактирования и т.п. (коих довольно много обычно).
Забыть где-то внести изменения очень легко :)
Я думаю сделать так, чтобы класс автоматически сам везде все обновлял, через рефлексию. Ну т.е. добавляю я новый атрибут, а все методы работы с БД и т.п. автоматически это распознают, и добавляют необходимую логику в запросы. Сделать какой-то контрол отображения, который тоже создает формы ввода, редактирования и т.п. на основе существующих атрибутов класса, т.е. динамически. В php я такую штуку для себя сделал и пока доволен - значительно упростил себе жизнь.
Каково ваше мнение о таком подходе? Или он уже далеко не нов? Понятно, что там пока много неясных вопросов (как быть с зависимыми объектами и т.п.), но это уже второй вопрос :)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35357213
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возьми уже объектную БД и не мучайся (т.к. бесполезно отговаривать :) )
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35357458
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanchez911Каково ваше мнение о таком подходе?
- изобретение велосипеда :) ORM (прекрасно отображает объекты на РСУБД и допускает наследование объектов), EJB (удобная технология создания масштабируемых систем на Java с использованием ORM), JSF и ASP.NET (генерация форм на основе списка полей объекта и автоматическая обработка этих форм - я, честно говоря, не фанат этих технологий, но просто ключевые слова по теме) и т. д.
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35357596
СергейТТТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея красивая, только не работает на сложных системах, с большим количеством взаимосвязей.
Здесь предполагается, что изменение в структуре данных автоматом ведет за собой изменение в интерфейсах, представлениях, отчетах и проч, что далеко не всегда так.

imho, для надежности лучше явно прописать по всей цепочке, чем потом мучится и пытаться объяснить откуда взялись какие-то новые суммы..
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35357949
Sanchez911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какие есть ORM под .NET? И как они сохраняют объекты в базе данных, сериализуя, или же приводя в соответствие реляционную структуру?

авторASP.NET (генерация форм на основе списка полей объекта и автоматическая обработка этих форм
А можно поподробнее, как эта технология называется в асп.нет?

И что есть объектная БД? :)

СергейТТТ, наверное в разных ситуациях по-разному, но у меня каждый раз куча мороки и ошибок от того, что заказчик просит добавить новое поле, а я где-то забываю это сделать. Поэтому мне нужно добавить 1 раз и забыть :)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358101
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanchez911А какие есть ORM под .NET?
тынц

Sanchez911
И как они сохраняют объекты в базе данных, сериализуя, или же приводя в соответствие реляционную структуру?
- лень в гугле покопаться? само собой переводят объектные данные в естественную для РСУБД форму

Sanchez911А можно поподробнее, как эта технология называется в асп.нет?
Да все там на этом построено :) ASP.NET (посмотрите рекламный ролик)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358133
Sanchez911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В гугле уже покопался :)
Остается вопрос с АСП.нет: я не знаю, как там сделать автоматическую генерацию формы по полям. Ну можно накидать контролов на страницу, но это же нифига не автоматически.
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358141
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanchez911Ну можно накидать контролов на страницу, но это же нифига не автоматически.
- уже и мышкой лень кликать ;)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358144
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanchez911это же нифига не автоматически.
- на крайняк, старый добрый XSLT: Object в XML, XML+XSLT в HTML
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358149
Фотография А6дулла
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такие велосипеды давно изобретены во многих учетных системах, например SAP.
Именно добавление новых полей в сущность посредством UI и автоматическое отображение этих новых полей в формах редактирования этой сущности.
Хранится такое в EAV (обычно), в интерфейсном слое реализуется большим объемом кода и гибкими средствами UI.
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358226
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал про готовые решения: либо надо платить деньги и получить избыточную библиотеку, а в следствие притянутой универсальности - еще и не самую оптималную генерацию для СУБД, либо брать сырое, недокументированное, в чем сложно разобраться.

Между тем, задача - именно в поставленном объеме совсем не велика.
Генерировать классический SQL на основе заданных связей - задачка вполне тривиальная.
Добавить фильтрацию - тоже не проблема.

Что касается интерфейса, то конечно, размещение полей на форме - это вроде как процес творческий. Но, тут зависит от объема дополнительной информации которая будет сообщена генератору, чтобы получить красивое размешение.

Вообщем, на мой взгляд, генерация кода классов для представлеия интерфейса+взаимодействие с базой данных - на основе описания сущностей - разработчику задача на 2 недели. Примерно столько же придется разбираться с чужим продкутом Зато свой будешь знать как свои пять пальцев и будешь уверен в специфичности для выбранной СУБД.
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358373
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexsalog

Между тем, задача - именно в поставленном объеме совсем не велика.
Генерировать классический SQL на основе заданных связей - задачка вполне тривиальная.


Скорее всего, авторы уже найденных тобой решений (либо изыточных либо сырых) поначалу тоже так думали...
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358380
У
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
У
Гость
Sanchez911А какие есть ORM под .NET? И как они сохраняют объекты в базе данных, сериализуя, или же приводя в соответствие реляционную структуру?

авторASP.NET (генерация форм на основе списка полей объекта и автоматическая обработка этих форм
А можно поподробнее, как эта технология называется в асп.нет?

И что есть объектная БД? :)

СергейТТТ, наверное в разных ситуациях по-разному, но у меня каждый раз куча мороки и ошибок от того, что заказчик просит добавить новое поле, а я где-то забываю это сделать. Поэтому мне нужно добавить 1 раз и забыть :)

Рановато имхо ты взялся Фаулера читать
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358385
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanchez911
И что есть объектная БД? :)


Например Cache .
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358417
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pirovindos Alexsalog

Между тем, задача - именно в поставленном объеме совсем не велика.
Генерировать классический SQL на основе заданных связей - задачка вполне тривиальная.


Скорее всего, авторы уже найденных тобой решений (либо изыточных либо сырых) поначалу тоже так думали...

ну от чего же, я например налабал такую библиотечку год назад. хотя конечно, там, есть что поправить...
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35358437
pirovindos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и у нас тоже что-то есть, и тоже напильника требует :)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35359158
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexsalog
Зато свой будешь знать как свои пять пальцев и будешь уверен в специфичности для выбранной СУБД.
ты для СЕБЯ пишешь или для заказчика? :)
...
Рейтинг: 0 / 0
Вопрос-предложение по архитектуре
    #35359438
Sanchez911
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УРановато имхо ты взялся Фаулера читать
Не думаю, в целом там все понятно, только просто ужасно написана книга. Структурированность ужасная, постоянно ссылки на то, что будет рассказано потом, очень тяжело читается, и еще почему-то в ней преобладает жирный шрифт :)

Решения других разработчиков, которые открытые, посмотрю, интересно кто как делает.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Вопрос-предложение по архитектуре
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]