Re[3]: Смотрел на Java код. ...много думал.
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.10.05 18:30
Оценка: +2 :)
Здравствуйте, c-smile, Вы писали:


CS>Угу, вот конфетки из дистрибутива PersonalJava от Sun


CS>

CS>    // Щаз, пацаны, мы покажем как писать надежный метод надежной библиотеки. 
CS>    // Вот типа шоб враги, значить, нашу унутренню  minSize (типа Dimension) 
CS>    // грязными руками (омытыми водами Ганга), значить, не похакали мы ея
CS>    // типа скопируем шоб, значить, не напрягать мозг созданием 
CS>    // immutable Dimension класса. Ну типа он же у нас уже есть, фигли тада напрягаться?

CS>    public synchronized Dimension getPreferredSize(int rows, int cols) {
CS>    return new Dimension(minSize);
CS>    }

CS>    // "AWT есть но не работает!"
CS>    // "Та що ви говорите? От дасада... А зато душа в ней гарна, сил нет..."
CS>    // ...
CS>    // "Не... в то место моя щира душа не поместится...."
CS>


Изумительный пример мировозрения битовыжимателей. Типа не потимально!!! Объект лишний создают!!! Поибивалбы...

В условиях Явы это единственно верный выход. Типы то опчти все ссылочные. Так что отдать внутенний объект == послать на... всю инкапсуляцию.

Медленно говоришь? Ну, что же подождем Явы 6 (1.6) и проверим насколько это медленно и кто был прав. Думаю, прав был тот кто написал этогт код, так проблемы производительности вызванные подобными решениями дожен решать компилтор, а плевать на инкапсуляцию все же не стоит.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.