Здравствуйте, 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>>