Цитата:
Сообщение от
Андре
Кстати, побочным удобством данного подхода является то, что можно легко прикрутить логирование.
А чем легче, чем при традиционном?
Цитата:
Сообщение от
Андре
Не больше, чем если бы ты их точно так же вызывал последовательно с новой строки. Это скорее проблема корректно реализации класса, дабы он позволял присваивать параметры в произвольном порядке.
отвечю чуть ниже
Цитата:
Сообщение от
belugin
Вот тут не очень понятно, можено пример? Вроде порядок вызова четко определен.
X++:
parm1(someComplexType _var)
{
// модифицируется и проверяется _var
return this;
}
parm2(someComplexType _var)
{
// модифицируется и проверяется _var
return this;
}
classvar.parm1(func1(var1)).parm2(func2(var1));
в каком порядке будут вызваны parm1, parm2, func1, func2?
Если вдобавок внутри происходит модификация переменных, то...
Не помню у кого, но видел в подписи выражение типа (i=1;i+=(i++)+(i++);cout<<i);
запись через точку порождает примерно такие же головоломки
Цитата:
Сообщение от
belugin
Каким образом return this может превратиться в Null
Во всей Аксапте принято возвращать null или пустую запись, если что-то не получилось.
Например, методу передали неправильное значение и он хочет сообщить вызывающему об ошибке. В нормальных языках он должен возбудить исключение с определенным типом. А здесь непонятно что.
Цитата:
Сообщение от
belugin
Так как builder нацелен на создание Query, у него все сделано для того, чтоб эта задача решалась максимально просто и лаконично.
А... дык, это только для создания query...