Обновить
0
0
Радмир@RadmirT

программист

Отправить сообщение

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

В том то и дело пока я не соберу код я не всегда смогу узнать какие свойства забыл инициализировать. А если все эти свойства "размазаны" по иерархии наследования то это может превратиться в нехилый квест. :) Я пользуюсь простым правилом как только количество аргументов становится больше 5 я или упаковываю их в объект параметр или делаю декомпозицию. Да и с большим количеством аргументов у меня получается не сильно много от силы 5-10% от всего кода, так что можно и по старинке через конструкторы :)

Большой список аргументов конструктора "звоночек" для проведения рефакторинга. К тому уже есть Паттерн позволяющий передавать большое количество аргументов: объект-параметр. В предлагаемом решении сложно определить какие параметры обязательно должны быть инициализированы, надо будет или компилировать каждый раз сборку или лезть в исходник и смотреть какие свойства помечены required

Вы уж меня извините, но ставить в один ряд SolidWorks и FreeCAD, Photoshop и Gimp это крайне не корректно. Нарисовать в том же самом FreeCAD модельку для 3D принтера конечно можно, но это максимум на что он способен. Если нужны инженерные и прочностные расчеты, построение программ для ЧПУ, даже элементарное оформление чертежей по ЕСКД то ваш FreeCAD просто сдуется.

Информация

В рейтинге
Не участвует
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность