|
![]() |
#1 |
Участник
|
Цитата:
Если кто используется внешними потребителями у которых нет контрля над вашим кодом, надо понять модель обновления. Если вам не нужно соблюдать обратную совместимость, то можно делать как угодно - если вы что-то измените это будет проблема того, кто воспользовался вашим интерфейсом. Если вы сделаете что-то protected, то надо рассматривать это как один из интерфейсов расширения. Если вы перекрываете метод с поведением в подклассе, то это как-правило нарушение LSP - обычно более логичная структура кода получается, если выделить абстрактный суперкласс и создать два наследника. Официльные рекомендации для ISV - вот тут. Последний раз редактировалось belugin; 02.10.2021 в 10:59. |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
![]() |
#2 |
Участник
|
Цитата:
Сейчас для разработчиков бОльшая проблема недоступность к изменению функционала и время реакции. Как пример те же закрытые командами МС модули. На сколько помню по циклам это около 4 недель ожидания если признают ошибкой (как понял из общения с коллегами это стандартный цикл разработки текущей версии, а далее cherry-picking на версии идущие к выпуску) и 4 недели * 4-5(?) если признают фичей (текущая версия а далее пройдет этапы до выпуска). Это недопустимо долго в реальности так как жить надо сейчас. Именно по подобным примерам крайне отрицательно отношусь к необдуманному использованию internal без предоставления минимального интерфейса для коррекции вероятных ошибок алгоритмов. ЗЫ и это кстати одна из причин почему мне нравится ER: как понимаю там цикл от обнаружения ошибки в логике ER конфигураций до выкладывания новой версии измеряется днями, часами. При этом клиент может сам поправить и спокойно жить в ожидании новой официальной версии. Последний раз редактировалось axm2017; 04.10.2021 в 10:08. |
|
|
За это сообщение автора поблагодарили: sukhanchik (6). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|