Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Изменения бизнес логики, измерений в рабочем проекте. / 10 сообщений из 10, страница 1 из 1
14.12.2010, 15:34
    #37013740
Deff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
В готовом проекте часто приходится менять ключи(измерения) для получения значения.
Например, Значение "цена" - ключ "Товар". Делаем регистр: Товар, Время, Цена. И функцию: с параметрами товар, время и результатом "цена". Все просто и удобно, во всех селекатах используем функцию.
Но вот заказчик говорит, что теперь цена будет от ключа: "товар, тип объекта". Передали регистр, функцию и во всех местах, где использовалась функция . А затем заказчик говорит добавить "регион". И опять та же эпопея.
В общем, компания развивается, реструктуризируется, меняются бизнес процессы - поэтому не возможно заранее написать законченное ТЗ. Т.е. подобных задач очень много, их очень тяжело внедрять.

Переделать регистр и функцию - это не проблема, хотелось бы что бы эта функция сразу заработала во всех местах.

Поэтому интересуюсь, у кого какие идеи, наработки в данном вопросе.

Какие у меня есть идеи.
1. Описать все метаданные. Генерировать весь код или часть кода(как базовые объекты )на основании метаданных.
2. Сразу создать функцию с большим количеством параметров. На будущее передавать все что есть, что бы им на будущее в голову не взбрело, или передавать в функцию как-то (как в рамках MSSQL?) контекст селекта, например все значения селекта как именные параметры одним image.
3. Знать все места, где используется функция, и внести изменения, никого не забыв.

Наверное, надо стремиться к первому. Но тяжело унифицировать все отчеты и обработки.
Второй вариант тоже не понятно как реализовать, что бы ни выглядело "бредом".
Пока пользуюсь третьим, но это конечно не предел мечтаний.
...
Рейтинг: 0 / 0
14.12.2010, 15:45
    #37013783
maniac85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
что за регистр? речь про одинэс?
...
Рейтинг: 0 / 0
14.12.2010, 15:47
    #37013790
lazovik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
Deff,
по 2-му варианту в рамках MSSQL можно использовать XML
...
Рейтинг: 0 / 0
14.12.2010, 15:48
    #37013799
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
Deffхотелось бы что бы эта функция сразу заработала во всех местах.

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

Например для меня увеличить количество параметров вообще не проблема! Будет работать как старый вариант

Код: plaintext
s sum=$$MyFnc()

Так и модернизирование со временем варианты

Код: plaintext
s sum=$$MyFnc( 16 )
Код: plaintext
s sum=$$MyFnc( 16 ,, 1 )

Просто новые параметры будут определяться в функции некими значениями "по умолчанию"...
...
Рейтинг: 0 / 0
14.12.2010, 15:51
    #37013810
Deff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
maniac85что за регистр? речь про одинэс? Нет, не один 1С.
...
Рейтинг: 0 / 0
14.12.2010, 15:52
    #37013816
Deff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
krvsa,
Даже если сделать параметры по умолчанию, то все равно не будет передоваться важный параметр. И значение будет браться по старой системе. Т.е. не правильно, да еще и не сразу заметишь.
...
Рейтинг: 0 / 0
14.12.2010, 15:53
    #37013822
Deff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
lazovikDeff,
по 2-му варианту в рамках MSSQL можно использовать XML
Хм, наверное действительно можно. Сейчас поищу.
...
Рейтинг: 0 / 0
14.12.2010, 18:01
    #37014192
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
DeffКакие у меня есть идеи.
Начать размышлять удобнее со второго варианта. Проблема этого подхода в том, что в "сразусозданнуюфункцию" будет передаваться вагон неверифицируемых данных. То есть, Вы будете передавать туда какую-то дату, какой-то тип и т. п., но нет совершенно никаких гарантий, что именно нужные, и Вы это никак не проверите (пока они не станут нужны по бизнес-логике). Скажем, в одном случае у Вас доступны две даты: какую из них передадите? Или обе? А в другом случае ни одной. Заджойните таблицу с датой? Какую именно? Передадите null? Вообще не передадите? В общем, это будет просто свалка с тремя решаемыми задачами: осложнить и запутать начальное написание кода, осложнить и запутать отладку при изменении бизнес-логики, создать псевдоощущение "раз, поменяли - и всё работает по-новому".

Первый подход не приносит ничего нового, просто вместо "бегать и менять код" будет "бегать и менять метаданные". Поскольку проблемы будут ровно те же, что и в первом случае: надо взять откуда-то данные, причём не абы какие, а именно нужные, а какие нужные - вопрос к человеку.

Третий подход смущает.. зачем знать? Ну даже с учётом неумения MSSQL отслеживать зависимости, их обычно несложно найти (если не брать в расчёт некоторых сильно нетривиальных методов кодирования отдельных программистов).

А в целом... Вы исходите из того, что есть некий более-менее устойчивый контекст, в котором считается и может быть посчитана цена, причём при изменении бизнес-логики меняется способ расчёта, но контекст остаётся неизменным. Если так, никто не мешает обернуть этот контекст во view и сделать цену вычисляемым полем. Вот только предпосылка о неизменности имхо сомнительна.
...
Рейтинг: 0 / 0
14.12.2010, 22:37
    #37014579
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
Deff , не совсем понятно каким боком тут "Проектирование БД"?
...
Рейтинг: 0 / 0
15.12.2010, 06:57
    #37014894
Deff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения бизнес логики, измерений в рабочем проекте.
krvsa Deff , не совсем понятно каким боком тут "Проектирование БД"?Как спроектировать базу данных, что бы подобные изменения легко можно было вносить.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Изменения бизнес логики, измерений в рабочем проекте. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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