powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
25 сообщений из 385, страница 12 из 16
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570728
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsЕсли все так просто сделать описанием метаданных то какая проблема.

Дело не в том, что это сделать «так просто», не просто — надо знать предметную область досконально. Все тонкости, ньюансы и конкретный текущий контекст. Возможность описания мета-данными не упрощает задачу в целом, оно просто смещает фокус написания логики и описания модели с программиста, который не плавает в предметке, на аналитика. И в итоге это выходит дешевле, а результат получается гораздо быстрее, при чём должна обеспечиваться хорошая адаптируемость к частым и небольшим изменениям. У нас эти изменения происходят каждый день. При классическом подходе приходилось бы накапливать их и обновлять приложение раз в неделю, т.е. останавливать все процессы и накатывать обновление. Это крайне неудобно. Работая с мета-моделью, эти изменения можно делать прямо сейчас, без деплоя, и делать это может аналитик.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570732
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsпотому что они пишут узкоспециализированные программы.
ты просто подумай почему люди берут 1С а не "эти проги"

1С — программа как раз таки НЕ узкоспециализированная. Область задач да, но сам программный комплекс нет.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570734
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherЕсли такие системы в разы эффективнее (дешевле/прибыльнее), почему они до сих пор не вытеснили с рынка все остальные? Хотя бы в соответствующих нишах.

Потому что такие системы крайне сложны в разработке, ну и золотую середину поймать сложно. Не свалиться в деревянное неповоротливое непотребство, пытаясь объять не объятное.

Примеры таких систем: 1С, SAP и многие другие. Будем говорить, что они не выстрелили?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570747
vill_ager
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonmbsну вот и сделай приходную или розничную накладную. С товарами, налогами, предоплатами и все что нужно.
Если все так просто сделать описанием метаданных то какая проблема.

Только не абстрактную картинку покажи а весь код где можно конкретно увидеть всю бизнеслогику оприходовния товара, расчета с контрагентами и прочее.
Это СТАНДАРТНАЯ задача любого бизнеса.
А если такаого решения у тебя то значит рядом с твоей крутой програмой стоит та же 1С
Что там за магия в 1С, расскажите? Я ведь не знаю 1С. Почему там это сделать легко? Причем тут предоплаты к приходу? А если без предоплаты, то что? Что за налоги?
Дайте полную постановку задачи, обсудим.
1С навязывает пользователям свою универсальную типовую конфу, а насколько она удобна?

Почему, когда настырные пользователи (т.е. бизнес) пытается заставить 1С работать по их правилам 1с-ники сдуваются?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570761
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsну вот и сделай приходную или розничную накладную. С товарами, налогами, предоплатами и все что нужно.
Если все так просто сделать описанием метаданных то какая проблема.


Начальство изначально не разрешила перенести в ВИПРОС мою Бухгалтерию (которая на есть Clipper и Дельфи).
Типа будем интегрироваться с 1С и все. Потому всех этих буховских вещей нет в ВИП.Производстве.

А вот отношения с партнерами :) фиг ты на 1с твоем сделаешь это
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570762
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570765
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570766
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570769
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

а те формы не абстрактные, а "Учет земельных участков и недвижимости" холдинга со всеми обременениями и т.д.
и ваще сам ты сферический конь

если хочешь поговорить по Производству приходи в mesforum.ru
у меня нет доступа ко всем задачам сделанным на ВИПРОС
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570771
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

а Бухию мне не разрешили осознанно - если бы ВИП.Производство включала бы Бухию, то она стала бы полноценной ЕРП системой с встроенной APS, MES, и т.д., а это было чревато для фирмы (так как были заделы в виде своей конфигурации 1с с позаказным учетом, которая внедрялось и внедряется в концерне), да и просто испугались.
А без Бухии в России продвать прогу для ентерпрайз - практически невозможно.
Так как все остальные задачи считаются второстепенными, так как нет регламента на эти задачи - никто не спрашивает о наличии обоснованных планов, обоснованных затрат на производство и т.д.
А есть смешные вещи - найти себестоимость чего то. А почему такая себестоимость государство не волнует - типа рынок, но при том триллионы бухают на эти необоснованные затраты и воруют.
Техпроцесс бл* утверждается комиссией, а логистика нет (ни внешняя операторская, ни внутрихозяйская) - а там львиная доля затрат.
Да мне то пофиг.
Просто страна бережливых ворюг в поиске несуществующих узких мест в потоках к собственному карману.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570776
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то тут все с темы свернули...
Вот на хабре статья недавно вышла
https://habrahabr.ru/post/344844/
О чём Вы толковать пытаетесь...как резюме.
Что надо бизнесу "шо не надо" и т.д.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570781
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,

жаль там меня забанили (при чем сразу же - покритиковал какого то "модельера" и тут же бан навсегда)
хотя уровень там тоже ниже плинтуса в основном
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570785
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В бизнес (производственный) очень сложно войти с отдельными задачами, так как все задачи сильно связаны.
Допустим, лучше меня никто не сможет оптимально загрузить мощности (особенно всякие разделяемые - печи, покраска, гальваника,.., вощем, там где совместно обрабатываются много ДСИ).
Вроде бы иди да продавай, но -
для того что бы запустить задачу надо иметь -
планы
техпроцессы
мощности (станки, инструмент, люди,,,,)
ресурсы (материал, ДСЕ, ПКИ,...)
структуру (локация, подчиненность... РМ, участков, цехов)
пути сообщения
транспорт
...

вощем все что называется Предприятием
если бы Предприятие не имело "системы автоматизации" все было бы неплохо
но, обязательно там какая та САП, 1с, Вертикаль, Интермех.... и иже фуфло уже сидит и надо со всем этим дермом типа интегрироваться
а там нечего интегрировать, нарисовано всякая гадость как бог на душу положил, что то надо везде добавлять, что то с чем то объединить, что то выкинуть и т.д.
и получается не внедрение чего то хорошего, а развал всего и вся
и еще эти товарищи саперы, одинеснеги, крутые прогеры, иксперти доморощенные,...,
как дожил со всем этим до пенсии - ума не приложу
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570786
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosirbis_al,

жаль там меня забанили (при чем сразу же - покритиковал какого то "модельера" и тут же бан навсегда)
хотя уровень там тоже ниже плинтуса в основном

Всё относительно...На мой взгляд уровень на хабре Выше чем на этом форуме...
Хотя тоже смотря где...СУБД например тут выше(Опять же на мой взгляд).
А вот языки и вот этот профильный форум,- разработка ИС там выше.
(А главное там кто угодно не может многократно и безнаказанно бросать говно на вентилятор)
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570791
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos
вощем все что называется Предприятием
если бы Предприятие не имело "системы автоматизации" все было бы неплохо
но, обязательно там какая та САП, 1с, Вертикаль, Интермех.... и иже фуфло уже сидит и надо со всем этим дермом типа интегрироваться
а там нечего интегрировать, нарисовано всякая гадость как бог на душу положил, что то надо везде добавлять, что то с чем то объединить, что то выкинуть и т.д.
и получается не внедрение чего то хорошего, а развал всего и вся
и еще эти товарищи саперы, одинеснеги, крутые прогеры, иксперти доморощенные,...,
как дожил со всем этим до пенсии - ума не приложу

Вообще 1с сильно "похерила" общий уровень ИТ .От архитектора до простого разработчика.
одинэфники знают,что такое нормальные формы...транзитивные зависимости...Твердят тупо как мантру "водинесевсёесть"....
Я вот тут просмотрел форум(я давно в эжтой ветке не был)
Вот все показывают скрины сложного интерфейса...
И у кого он навороченней,тем типа круче.
Ребята это плохо...
Чем проще форма тем лучше...
Много галочек,- выборок...плохо..
ИС не должна напоминать панель управления шатлом.
Как говорил Энштейн..
Всё должно быть просто...но не проще ,чем должно быть.
Древние говорили:Усложнять просто...А вот упрощять сложно.
Или как по-простому говорят у меня в конторе.:Сделать просто-сложно!
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570796
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_alРебята это плохо...
Чем проще форма тем лучше...
Много галочек,- выборок...плохо..
ИС не должна напоминать панель управления шатлом.

С позицией -- чем проще, тем лучше -- согласен. И надо понимать, что простой (= понятный и удобный, а не «простой» в смысле однокнопочный) интерфейс сделать сложно, часто ОЧЕНЬ СЛОЖНО. Сложный интерфейс сделать легко.

Но.

Если делаешь шаттл, то управление у него будет соответствующим. Скажешь, что шатл должен управляться велосипедным рулём с одной кнопкой-звонком? Ну-ну. Посмеши взрослых дядей.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570801
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonmbsкак пример - приходная накладная или типа того - пример функциональности нужной ЛЮБОМУ бизнесуХм, вопрос любителям писать прописными: ТУРИСТИЧЕСКИЙ бизнес, кому там сдалась ваша приходная накладная?
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39570887
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAХм, вопрос любителям писать прописными: ТУРИСТИЧЕСКИЙ бизнес, кому там сдалась ваша приходная накладная?

неверный ты пример выбрал, ох не верный...

http://www.tadviser.ru/index.php/Продукт:1С:Предприятие_8._Турагентство
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571262
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
leonmbsво первых не вижу обработчиков событий
Они больше не нужны...В примере:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
import DaReManager 0.1 as DRM
import "../account_group" as AG
import "../account" as A
import "./" as SELF

DRM.FormCard {
    short_name: "Income or Expense"
    full_name: "Income or Expense"

    reload_block: SELF.DBTable{state: "select_record"}

    content: [
        DRM.FormStringSentence {caption.value:"ID";value.field:"id"; enabled.value:false }

        , DRM.FormDateSentence {caption.value:"Date";value.field:"date"}

        , DRM.FormBoolSentence {
            caption.value:"State";
            value.field:"account_income_expense";

            value_description_checked:"Income"
            value_description_unchecked:"Expense"
        }

        , DRM.FormReferenceSentence {
            caption.value:"Group"; value.field:"account_group_id";

            select_block: AG.FormRegistry{
                registry.search_on: true;

                confirm_visible: true;
                confirm_shortname: 'Select';

                output_fields_on: true;
                output_fields:[DRM.ReplaceField{source_code:'id'; code: 'account_group_id' }]

            }

            value_description.field:'group_name'

            value.reload_block: AG.DBTable {
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code: 'account_group_id'}]

                state: "sql"
                sql: "SELECT name AS group_name FROM account_group WHERE id=:account_group_id"
            }

        }

        , DRM.FormReferenceSentence {
            caption.value:"Account"; value.field:"account_id";

            select_block: A.FormRegistry{
                registry.search_on: true;

                confirm_visible: true;
                confirm_shortname: 'Select';

                output_fields_on: true;
                output_fields:[DRM.ReplaceField{source_code:'id'; code: 'account_id' }]

            }

            value_description.field:'account_name'

            value.reload_block: AG.DBTable {
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code: 'account_id'}
                               , DRM.ReplaceField{code: 'price_enabled'}
                              ]

                state: "sql"
                sql: "SELECT
                        acc.group_id AS account_group_id
                        , acc.income_expense AS account_income_expense
                        , acc.name AS account_name
                        , acc.measure AS account_measure
                        , CASE acc.measure WHEN '' THEN 'false' ELSE :price_enabled END AS price_enabled
                        , CASE acc.measure WHEN '' THEN 'false' ELSE 'true' END AS count_enabled
                    FROM account AS acc
                    WHERE acc.id=:account_id"
            }

        }

        , DRM.FormStringSentence {caption.value:"Description";value.field:"description"; }

        , DRM.FormNumberSentence {caption.value:"Price";

            enabled.visible: true;
            enabled.value: false;
            enabled.field: 'price_enabled';
            enabled.reload_block:SELF.DBTable{
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code:'price_enabled'}]
                state: 'sql'
                sql: "SELECT CASE :price_enabled WHEN 'true' THEN 'false' ELSE 'true' END AS sum_enabled"
            }

            value.field:"price";
            value.decimals: 2
            value.reload_block: SELF.DBTable{
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code:'sum'}
                               ,DRM.ReplaceField{code:'count'}
                               ,DRM.ReplaceField{code:'price'}
                               ,DRM.ReplaceField{code:'price_enabled'}
                              ]
                state: 'sql'
                sql: "SELECT CASE :price_enabled
                                WHEN 'true' THEN :price*:count
                                ELSE :sum
                            END AS sum"

            }
        }

        , DRM.FormNumberSentence {caption.value:"Count";value.field:"count";

            enabled.visible: false;
            enabled.value: true;
            enabled.field: 'count_enabled';

            value.decimals: 4;
            measure.field:"account_measure"
            value.reload_block: SELF.DBTable{
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code:'sum_enabled'}
                               ,DRM.ReplaceField{code:'price'}
                               ,DRM.ReplaceField{code:'price2'; source_code:"price"}
                               ,DRM.ReplaceField{code:'count'}
                               ,DRM.ReplaceField{code:'count2'; source_code:"count"}
                               ,DRM.ReplaceField{code:'sum'}
                               ,DRM.ReplaceField{code:'price_enabled'}
                               ,DRM.ReplaceField{code:'price1'; source_code:"price"}
                               ,DRM.ReplaceField{code:'count1'; source_code:"count"}
                               ,DRM.ReplaceField{code:'sum1'; source_code:"sum"}
                              ]
                state: 'sql'
                sql: "SELECT CASE :sum_enabled
                                WHEN 'true' THEN CASE :count WHEN 0 THEN :price ELSE :sum/:count2 END
                                ELSE :price2
                                END AS price
                            , CASE :price_enabled
                                WHEN 'true' THEN :price1*:count1
                                ELSE :sum1
                                END AS sum
                    "
            }
        }

        , DRM.FormNumberSentence {caption.value:"Summa";

            enabled.visible: true;
            enabled.value: true;
            enabled.field: 'sum_enabled';
            enabled.reload_block:SELF.DBTable{
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code:'sum_enabled'}]
                state: 'sql'
                sql: "SELECT CASE :sum_enabled WHEN 'true' THEN 'false' ELSE 'true' END AS price_enabled"
            }

            value.field:"sum";
            value.decimals: 2
            value.reload_block: SELF.DBTable{
                input_fields_on: true;
                input_fields: [DRM.ReplaceField{code:'sum'}
                               ,DRM.ReplaceField{code:'count'}
                               ,DRM.ReplaceField{code:'price'}
                               ,DRM.ReplaceField{code:'sum_enabled'}
                              ]
                state: 'sql'
                sql: "SELECT CASE :sum_enabled
                                WHEN 'true' THEN CASE :count WHEN 0 THEN :price ELSE :sum/:count END
                                ELSE :price
                            END AS price"

            }
        }
    ]



    confirm_visible: true;
    confirm_block: SELF.DBTable{state: "update"}
}


в разных местах можно найти свойство компонента "reload_block" значением которого является объект типа "block" - это может быть другая форма, интерпретатор выражений (SQL, математических, функционального языка), генератор отчетной формы и др. Компонент по встроенному событию вызывает указанный объект(блок), передав ему заполненные значения реквизитов формы, ожидает от блока результат. Результат работы блока раскидывается обратно по реквизитам формы.
leonmbsА если там два комбо связанные иерархией?
В примере выше два справочных реквизита "account_group_id" и "account_id"
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
        , DRM.FormReferenceSentence {
            caption.value:"Group"; value.field:"account_group_id";
            ...
            }

        , DRM.FormReferenceSentence {
            caption.value:"Account"; value.field:"account_id";
            ...
            }


связаны друг с другом. Реквизит "account_group_id" ограничивает выбор "account_id" в форме выбора ( не очень неудачный пример получился , в свойстве select_block: A.FormRegistry{} указывается форма описанная в другом файле ). По изменению "account_id" автоматически заполняется "account_group_id"
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
       sql: "SELECT   acc.group_id AS account_group_id
                        , acc.income_expense AS account_income_expense
                        , acc.name AS account_name
                        , acc.measure AS account_measure
                        , CASE acc.measure WHEN '' THEN 'false' ELSE :price_enabled END AS price_enabled
                        , CASE acc.measure WHEN '' THEN 'false' ELSE 'true' END AS count_enabled
                    FROM account AS acc
                    WHERE acc.id=:account_id"

и заполняются другие реквизиты формы (.., account_measure, price_enabled, count_enabled).

leonmbsА если надо элементы формы разместить по другому Меняйте их порядок описания в списке, в т.ч. с группировку элементов.
leonmbsя не зря отослал вас к 1С. Повторите форму оттуда потом поговорим
Чего Вам не хватает? Конкретные примеры. Не хватает, наверное, примера табличной части - это обычный компонент, со своими свойствами, просто картинку формы редактирования с табличной частью в сеть не выкладывал.
leonmbsкроме того - такое количество кода и даже меньше будет если это форму сделать например на старом добром делфиПриведенный пример на Qt - опытный образец. В продакшене аналогичный механизм используется на старом добром делфи, только описание реквизитов формы не в отдельном файле разметки (эта возможность и отрабатывалась в qt) а в обработчике события создания формы - только одно событие на форму, остальные автоматизированы.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571299
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sereginsereginВ продакшене аналогичный механизм используется на старом добром делфи, только описание реквизитов формы не в отдельном файле разметки (эта возможность и отрабатывалась в qt) а в обработчике события создания формы - только одно событие на форму, остальные автоматизированы.

Шило на мыло. Те же яйца с обработчиками событий, с ручными вкоряченными в обработчики событий SQL, только «декларативненько» в профиль.

А я думал, ну как может левел-апнуться студенческий мозг, который привык писать лапшу кода в обработчиках кнопок делфи-стайл. Оказывает вон оно как
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571301
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sereginsereginОни больше не нужны...В примере:

Пример, кстати, демонстрирует сплошные обработчики. Под лозунгом «не нужны» красиво смотрятся
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571340
sereginseregin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttsereginsereginОни больше не нужны...В примере:

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

ага.. я понял:

Код: c#
1.
2.
3.
4.
public void On_Button1_Click(object sender)
{
    _someService.DoLogic1(sender, ...);
}



Всё! Это уже вовсе и не обработчик, ведь это так-то строка с параметризованным выражением -- вызовом внешнего сервиса. Не смешите людей


sereginsereginОбработчик спрятан внутри, по событию поднимает указанный сервис (блок), передает ему значения реквизитов, раскидывает обратно полученные значения.

Аналогично.


sereginsereginСервис (объект, блок) даже не знает, кто его вызвал.

Аналогично.


Как я и говорил, абсолютно те же яйца, один в один, только в профиль. При чём с самым жестоким нарушением правил разделения логики и представления, которое не на пустом месте выросло. Выраженной логики нет, она строится прям в описании форм. Это ппц мягко говоря. Безопасности нет как факта. И т.д. и т.п.

Да и глядя на описание формы, всё это описывается моделью, это вообще к формам не должно иметь никакого отношения от слова совсем.

Но по ходу, это ещё у вас впереди. Ничего страшного, велосипедить это тоже опыт, даже если велиспедить в неправильном направлении.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571354
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Продумать все изначально невозможно, да обычно и не нужно.
Обычно есть какие то идеи и хочется их проверить, остальное пофиг.
По ходу задача сама начинает управлять своим развитием, указывает пути развития и т.д.
Если есть заинтересованная сторона, то периодически рефакторинг (с целью ослабления связности и нового пространства для маневров).
А так, как только добиваешься первичной цели (обкатка идей) и нет заинтересованных, отпадает желание что - нить делать дальше.
...
Рейтинг: 0 / 0
С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
    #39571356
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пот теме - технические трудности преодолимы.
И они вообще не в списке проблем.
Главная проблем - аудитория. Заинтересованная, понимающая, мотивирующая.
...
Рейтинг: 0 / 0
25 сообщений из 385, страница 12 из 16
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / С какими техн.трудностями Вы столкнулись, создавая собств.фреймворк ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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