30.09.2021, 20:37 | #41 |
Участник
|
Цитата:
Вот нашел специально, метод update() в таблице AssetLeaseIndexRateTable - [Hookable(false)] Т.е. чтобы при апдейте записи по феншую через COC внутри транзакции что-то дописать, придется запрос делать в МС, тупо на табличный метод update? Либо МС избавился не только от неприятных раздумий, а в принципе.. либо одно из двух ) |
|
01.10.2021, 11:36 | #42 |
Участник
|
Цитата:
Формат (format) находит в модели (model) структуру (root?), на основе которой он создан, и далее модель по структуре, находит соответствие (mapping) с данными системы. Однако соответствий может быть несколько. В настоящий момент система не позволяет выбрать и для корректной работы администратор ER обязан всегда поддерживать уникальность связки format - mapping - structure of model. Для каждого mapping должна быть своя структура иначе любой другой отчет и mapping с той же структурой приведет к проблеме. На сколько знаю такие коллизии возможны в накладных (т.е. загрузишь отчеты а они будут работать только либо/либо) к примеру да и не только. Неплохо ввести в форматах явное указание маппинга при необходимости на уровне параметра чтобы решить такие коллизии. Последний раз редактировалось axm2017; 01.10.2021 в 11:39. |
|
01.10.2021, 14:30 | #43 |
Участник
|
Промежуточный итог как понимаю:
При задании доступа помни что чем меньше уровень доступа, тем проще анализировать код. При указании private обоснуй для окружающих почему ты уверен что метод не потребуется извне. Internal используй если ты из MS и уже смирился с этим. Юзай final если возможно Что еще? |
|
01.10.2021, 14:34 | #44 |
Участник
|
Цитата:
Сообщение от imir
Вот нашел специально, метод update() в таблице AssetLeaseIndexRateTable - [Hookable(false)]
Т.е. чтобы при апдейте записи по феншую через COC внутри транзакции что-то дописать, придется запрос делать в МС, тупо на табличный метод update? Либо МС избавился не только от неприятных раздумий, а в принципе.. либо одно из двух ) |
|
02.10.2021, 10:52 | #45 |
Участник
|
Цитата:
Если кто используется внешними потребителями у которых нет контрля над вашим кодом, надо понять модель обновления. Если вам не нужно соблюдать обратную совместимость, то можно делать как угодно - если вы что-то измените это будет проблема того, кто воспользовался вашим интерфейсом. Если вы сделаете что-то protected, то надо рассматривать это как один из интерфейсов расширения. Если вы перекрываете метод с поведением в подклассе, то это как-правило нарушение LSP - обычно более логичная структура кода получается, если выделить абстрактный суперкласс и создать два наследника. Официльные рекомендации для ISV - вот тут. Последний раз редактировалось belugin; 02.10.2021 в 10:59. |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
04.10.2021, 09:32 | #46 |
Участник
|
Цитата:
Сейчас для разработчиков бОльшая проблема недоступность к изменению функционала и время реакции. Как пример те же закрытые командами МС модули. На сколько помню по циклам это около 4 недель ожидания если признают ошибкой (как понял из общения с коллегами это стандартный цикл разработки текущей версии, а далее cherry-picking на версии идущие к выпуску) и 4 недели * 4-5(?) если признают фичей (текущая версия а далее пройдет этапы до выпуска). Это недопустимо долго в реальности так как жить надо сейчас. Именно по подобным примерам крайне отрицательно отношусь к необдуманному использованию internal без предоставления минимального интерфейса для коррекции вероятных ошибок алгоритмов. ЗЫ и это кстати одна из причин почему мне нравится ER: как понимаю там цикл от обнаружения ошибки в логике ER конфигураций до выкладывания новой версии измеряется днями, часами. При этом клиент может сам поправить и спокойно жить в ожидании новой официальной версии. Последний раз редактировалось axm2017; 04.10.2021 в 10:08. |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
04.10.2021, 13:46 | #47 |
Участник
|
1. Имел ввиду ситуацию, когда весь код не поставляется внешним потребителям. Например при кастомерской разработке
2. ER это, фактически, автоматизированный copy-on-write - конфигурации микрософт нельзя менять, но можно делать и подключать свои копии |
|
04.10.2021, 14:30 | #48 |
Участник
|
Цитата:
На уровне пользователя, который не лезет в xml все выглядит как наследник. Последний раз редактировалось axm2017; 04.10.2021 в 14:42. |
|
04.10.2021, 18:18 | #49 |
Участник
|
Наследники не могут переопределять типы данных методов, например.
А тут копия - делай что хочешь. Последний раз редактировалось belugin; 04.10.2021 в 18:51. |
|
|
|