Цитата:
Сообщение от
DSPIC
1. Потому что класс может быть широко используемый, с тем или иным набором необходимых параметров.
ага. интересный довод. надо подумать.
Цитата:
Сообщение от
DSPIC
Затолкать все параметры в new() - получится мусорка, супер универсальный конструктор, который непонятно как использовать.
"все" - не хорошее слово. как только появляется слово "все" жди логической ошибки

заталкивать в new конечно стоит только обязательные параметры.
Цитата:
Сообщение от
DSPIC
Понятнее иметь несколько конструкторов construct*(). Яркий пример суперперегруженного конструктора у классов PrceDisc*. Каждый раз плюешься.
согласен. надо подумать. спасибо.
Цитата:
Сообщение от
DSPIC
2. New() нельзя использовать в CoC со всеми вытекающими.
в смысле?
другими словами, это "достоинство new без параметров" или "недостак CoC"?
Цитата:
Сообщение от
DSPIC
3. Чисто синтаксически, когда в коде пишеся ClassName:: - вываливается спсок всемвозможных конструкторов, из которых понятно, что больше подходит. как использовать класс.
это да.
но взгляни на тот же SysCLRType.
в нем constuct оставляет объект в полусобранном состоянии.
да, там есть newFromTypeName, который полностью инициализирует. Но зачем такой construct(), который готовит полуфабрикат?
если поискать строку 'protected void new(' в акс2009
то будет найдено порядка 1000 вхождений.
да, большинство - это старые классы, где есть конструкторы с нормальными параметрами.
Но есть и такие как SysCLRType.
Цитата:
Сообщение от
DSPIC
Если написать myObject = new Object( , то вывалится 10 непонятных параметров. вдобавок, половина которых по-дефолту, а мне еще нужно установить значение десятного, повторив дэфолты тех, что в середине....
Скорее в new должны быть обязательные параметры, а не все.
Да, я понял про PriceDisc.
Надо подумать.
Цитата:
Сообщение от
DSPIC
По-моему, MS рекомендовал уходить от new() в сторону consеruct() еще лет 10 тому.
угу. еще во времена Дамгаарда
Цитата:
Сообщение от
DSPIC
Что касается методов parm() - это неудачный артефакт X++, породивший миллионы бесполезного parm-кода. К счастью, от него уже избавились в D365 в пользу модификаторов доступа.
Ну... мысль понятна. Не буду спорить со словом "избавились" в прошедшем времени