Как стать автором
Обновить
25
0
netslow @netslow

Пользователь

Отправить сообщение
Ну так ведь AJDT имеет много возможностей. Он показывает при разработке какие строчки кода затронуты аспектами. В аспекты можно заходить при отладке. Ну и т.д.
Использование аспектов характерно для текущей реализации. Я бы охотно выслушал другие предложения. Была идея использовать classloader'ы и модифицировать байткод. Может кто подаст идею?
Представьте, допустим, что диалектические переменные войдут в спецификацию Java и их реализация будет лишена недостатков производительности. Это бы поменяло ваше отношение?
Спасибо за комментарий. Во многом с вами согласен.
>Не оговорено, что будет происходить, если объявим две диалектических переменных, каждая из которых при каком-то ограничении должна себя вести как другой класс. Допустим, сработают оба условия. Какой класс в итоге будет выбран?
   Как я уже говорил, я планирую добавить проверку на бесконфликтность диалектических переменных.

> Если в какой-то точке происходит Exception (наиболее простой случай), то понять, какие были значения переменных на момент его возникновения становится намного сложнее.
   Не совсем понятно почему. Нельзя понять какие будут значения переменных на этапе компиляции из-за тех же ветвлений, но во время выполнения что нам мешает выводить в лог нужную информацию?

>Код становится менее прозрачным. Почему? Потому что интуитивно читая new ожидаешь поведения того объекта, который ты создал… думать в момент реализации о всех возможных вариантах — это очень сложно.
   Соглашусь, сложно. Но так ведь полиморфизм неотъемлемая часть ООП. Значит надо стараться писать код так, чтобы учитывать полиморфное поведение объекта, это в принципе не так сложно.
И конечно, класс в котором есть диалектические переменные должен быть хорошо документирован, и когда человек использует эти классы, он должен знать о подобном поведении объектов.

>Предложенная же концепция диалектических переменных наоборот увеличивает сложность.
    Я как раз сейчас думаю можно ли как-то это упростить… Если есть идеи буду рад выслушать. При чем как по подходу так и по реализации
Надо подумать. Вообще стандарты вещь хорошая…
Теперь я понял что Вы имели ввиду. Проблему с противоречивыми данными я надеюсь решить проверкой при анализе аннотаций. Ну а то, что в каждом классе приходится прописывать все переходы это да, при большом количестве классов будет не очень удобно.
Не совсем понял почему 15%. Когда объект трансформируется изначальная сумма заказа не меняется, меняется метод расчета конечной суммы. И если в результате цепочки действий сумма заказа = 50 и класс Р3, то скидка будет 20%.
>Ваш подход представляется мне вариантом syntactic sugar для паттерна Strategy.
В данной реализации я в принципе так его и воспринимаю для себя. Ничего нового с точки зрения ООП нет, это лишь небольшая «помощь» программисту.
А вот диалектическим переменным, как мне кажется, стоит уделить внимание при написании кода. То есть неплохо бы понимать каждый раз создавая переменную, зависит ли от нее поведение объекта.
Я как только напишу достойное обоснование дам вам знать=)
Спасибо за совет. Приму к сведению.
Стратегия очень полезный и интересный паттерн, но его использование не избавляет нас от потребности проверять значение переменной и решать какую стратегию применять.
Я просто предложил несколько иной подход.
Хорошая идея, я подумаю
Написал как можно использовать библиотеку с eclipse netslow.blogspot.com/2010/05/writing-first-dialectic-app-with.html.
Внутри библиотеки упакован аспект и aspectj должен его увидеть. Как это сделать в IDEA я увы сейчас не подскажу…
В какой среде запускаешь код? В случае eclipse твой проект должен являться AspectJ Project и так же hegel4j.jar должен быть добавлен в AspectJ build path
Не хочу бросать камень в огород Аватара, фильм конечно сделал своего рода революцию. Однако, становиться немного тревожно когда вспоминаешь:
" — Летишь вечером в ощущалку, Генри? — спросил помощник
Предопределителя. — Я слышал, сегодня в «Альгамбре» первоклассная новая
лента. Там любовная сцена есть на медвежьей шкуре, говорят, изумительная.
Воспроизведен каждый медвежий волосок. Потрясающие осязательные эффекты."
О. Хаксли. «О дивный новый мир»
а мне почему-то напомнило фильм куб: «После того как клиент отдохнувшим покидает блок запускается автоматическая смена постельного белья и включаются кварцевые лампы»
такими темпами скоро мыши будут удаленно управлять автобусами и поездами
Раньше сайт крутился на IBM Portal. Нынешний зверь написан тоже на java. Только его похоже писали с нуля. Судя по именованию пакетов компания Технос-К. Если посмотреть на их сайт, то вполне понятно откуда такие проблемы с дизайном…
Помоему забавная у гугла получилась аллюзия: Basic — Simple
Красиво. Но хотелось бы побольше фоток с орбиты и в высоком разрешении.
интересно, а где офис расположен?

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность