![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Скорее это просто неприязнь к статике и все.
|
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
У всего есть свои плюсы и свои минусы.
И то, что AS 2 позволяет свободу выбора того или иного подхода и даже смешивать оба подхода - это, в принципе, не плохо. Под каждую задачу можно выбирать оптимальный путь. Кстати в Яве, которая настолько строгая, что для неё в принципе стало возможно создать такую прекрасную среду, как IDEA, и то есть java.lang.reflect, который я бы назвал "динамика на костылях". |
|
|||||
|
__etc, тогда я не понял, что ты спрашивал.
WindWalker, клево, ты создал указатель на bool и что? |
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
На самом деле произойдёт следующее:
1. Будет создан экземпляр EmailValidator на основе строки. 2. Будет вызван метод isValid() для этого экземпляра. 3. Результат, возвращённый методом, запишется в переменную. 4. Garbage Collector убьёт экземпляр. Вобщем, задача будет решена. Принципы ООП не пострадают. Но будет выполнено два совершенно лишних действия: создание и удаление объекта. Несколько быстрее будет работать такой вариант: Т.е. если используется статический метод класса. Правда, тоже есть подводный камень. Обычно класс находится в каком-то пекедже. И хоть и пишем просто EmailValidator, компилятор всё равно расширяет его до полного имени. Например, com.strings.validators.EmailValidator Прежде, чем будет вызван метод этого класса, произойдёт следующее (синтаксис flasm'а): push 'com'
getVariable
push 'strings'
getMember
push 'validators'
getMember
push 'EmailValidator'
getMember
Зачастую это, конечно, малозаметно. Но всё равно иногда терзает душу. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
WindWalker, интересный домен «strings.com» ![]() |
|
|||||
|
[+1 18.03.08]
Регистрация: Nov 2006
Сообщений: 223
|
Это же чисто пример.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|