![]() |
Модераторы: Partizan, gambit Страницы: (15) Все « Первая ... 3 4 [5] 6 7 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Allexx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 16.12.2003 Репутация: нет Всего: нет |
|
|||
|
||||
stab |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
А ежели требуется разную функциональность по работе с каждым объектом реализовать? Это же очень распространеный сценарий, тогда видима if (sender == button1)? А если кнопок 30 штук (toolbar)? Добавлено @ 12:57
Кстати, а в Java есть шаблоны классов (Generics)? -------------------- 6, 6, 6 - the number of the beast. |
||||
|
|||||
batigoal |
|
||||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Теперь есть (в пятой версии). Правда, пока еще не использовал.
Да, тогда нужна проверка условия. Но, как правило, все же используется подход с безымянными внутренними классами:
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||||
|
|||||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Вот в этом форуме написано, что еще есть в Java. На данном этапе, я думаю, пожно сделать промежуточный вывод в том, что касается бизнес приложений:
1) Там где нужна кроссплатформенность (т.е. клиенты должны работать под разными ОС), Java подходит лучше 2) Там, где среда обусловлена применением Windows, .NET - более оптимальный выбор, т.к. эта технология намного "ближе" к сервисам, предоставляемым ОС (например, Active Directory или COM+). Вот и все, на мой взгляд ![]() Это сообщение отредактировал(а) arilou - 12.4.2005, 13:26 |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Не мог бы ты в двух словах объяснить суть и выгоды того и другого? Термин Active Directory мне совсем не знаком... ![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Конечно. COM+ - это развитие Distributed Transaction Coordinator из Windows NT (правда, ему уже уготована замена на Indigo в следующей версии Винды). Позволяет координировать и управлять транзакциями на уровне объектов, ведет глобальный каталог объектов (типа репозитория), поддерживает пулы, диспенсеры ресурсов, и т.д. На примере, дает возможность откатывать не только транзакции в БД, например SQL Server, а также на уровне объектов. Похожее, по-моему, входит в состав Enterprise Java Beans. Active Directory - централизованное хранилище разнородной информации в рамках сети предприятия. Это развитие доменов из Windows NT. Позволяет получать информацию, опубликованную там другими приложениями (например, о пользователях, о конфигурации Exchange, о SQL Server'e) и ей оперировать. Я мог в чем-то ошибиться, т.к. вполотную с этими вещами не работал, только на уровне знакомства. |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Идеи здравые и интересные. Аналоги в Java мне не знакомы, однако я уверен, что они есть - просто я еще с ним не сталкивался.
Вопрос к Доместику и остальным джавистам - есть ли подобные технологии в j2ee? -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
Честно говоря как-то странно смотреть на новинки JDK 5 (http://java.sun.com/j2se/1.5.0/docs/guide/language/index.html) и на разговоры на тему .NET vs Java.
Generics -- есть в .NET, сейчас в бета-тестировании. Enhanced for Loop -- есть в .NET начиная с первой версии. Autoboxing/Unboxing -- есть в .NET начиная с первой версии. Typesafe Enums -- есть в .NET начиная с первой версии. Varargs -- есть в .NET начиная с первой версии. Static Import -- нет в .NET. Annotations -- есть в .NET начиная с первой версии. Из семи новинок только одна является действительно уникальной и довольно спорной. Причем, как я понял, Generics и Autoboxing/Unboxing реализованы на уровне компилятора, а не на уровне JVM, т.е. имеем что-то вроде старого доброго препроцессора. Java скорее догоняет .NET по языковым возможностям, а не задает направление движения. -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Скорее, Java стремится за Си++, который в .NET, разумеется, уже присутствует (в смысле влияния). Но ты же не будешь утверждать, что это Java родилась как ответ дотНету? ![]() Эти новинки призваны лишь немного дополнить язык, а не кардинально переработать его. К сожалению, я не знаю .NET, поэтому не могу перечислить то, что отсутствует в нем, но имеется в Java. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Не-а, судя по всему, она стремится за C#, потому что именно он - флагманский язык .NET, и появление тех же дженериков (кстати, в C++ они называются "шаблонные классы, template classes", а название "generic" идет именно из C#) это доказывает. Оказывается, что метаданные только-только появились в Java, значит тут был первым .NET? Вобщем, гонка вооружений какая-то ![]() |
|||
|
||||
batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
О будущем введении generics говорил еще Эккель в третьем издании, так что это было довольно давно. Впрочем, возможно это было уже после появления .NET.
Теперь уже, наверное в первую очередь за ним. Но все-таки обратная ситуация тоже имеет место. Получилось так, что разработчики Java посмотрели на С++ и взяли от него все лучшее + добавили своего. Потом разработчики дотНета посмотрели на Java, взяли все лучшее + добавили своего. Что дальше? ![]()
Мы-то от этого только выиграем. ![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
Ch0bits |
|
||||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
![]() ![]() ![]() ![]() ![]() ![]()
1. J2ME уже полностью обосновался на мобильных устройствах. 2. И как это НЕТ возьмёт своё? Не вижу ни одной причины сейчас и в ближайшее время. 3. Может ты не заметил, но КПК с Win работают под Intel XScale(x86). А какие проци у смартфонов? |
||||
|
|||||
Domestic Cat |
|
||||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Инкапсуляция бывает хороша, а бывает и не хороша - особенно если онa реализованa на уровне языка.
А можешь ли тy использовaть ссылку на метод так, как в С++ например?
Можнo кak с объектом, но возможость работy как с методом не уберешь.
Тогда я могу использовать например Command паттерн, который встроен в Java в видe Actionов. Или анонимные классy есть. Или теm же свичем.
Есть.
Учти, что шарп поставили на плечи Java, когда егo создали. Многое в нем основано нa ней, вплоть дo странных совпадений, например есть Monitor.Enter() / Monitor.Exit(), тогдa как в Java нa уровне байткода есть команды monitorenter, monitorexit. Некоторые перечисленные тобой фичи - не более чем фичи. Улучшенный for ? Ну превратится он все равно в код с эньюмератором. Автобоксинг? Простое удобство, все равно за кулисами ничего не изменилось. Енумы и аннотации - это действительно хорошо, но разговор о них шел давно.
Большой разницы нет - что так, что эдак. Тот же автобоксинг есть создание объекта под примитив - ну так он в любом случае создается. -------------------- |
||||||||||||||||
|
|||||||||||||||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
1. На уровне языка - отсутствие необходимости декларировать throws и ловить иксепшны. С одной стороны, это облегчает жизнь, с другой - забудешь отловить иксепшн, и он вылезет в релизе. 2. В Java не нужно пользовать virtual/override/new; ИМХО это удобнее. В целом же на уровне языка выходит 50 на 50 - по моим личным ощущениям. 3. FCL сыра. В простой программе, в которой я и не думал ничего особо крутого делать, я уже использовал винапи 2 раза + чужую библиотеку. Вот с чем я столкнулся: 1. Нет работы со звуком 2. Нельзя спрятать курсор в ричтекстбоксе 3. В меню нельзя вставлять рисунки - то есть, нужно все делать с нуля 4. В тулбар нельзя помещать свои компоненты - только особые тулбоксовские, причем выглядит это плохо. Это конечно все будет исправлено, но на данный момент я уже привязан к винапи. Есть ряд других моментов, например .НЕТ приложение завязывается на АДО провайдера (SqlConnection/OleDbConnection) тогда как Java позволяет переходить с одной дб на другую без проблем. Буду дополнять ![]() -------------------- |
|||
|
||||
arilou |
|
||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Конечно можешь. Как именно использовать? Можно: 1) вызвать метод, на который она ссылается ![]() 2) передать куда-нить, для того, чтобы сделать п.1 ![]() 3) получить метаданные о методе, на который указывает ссылка 4) получить класс, объявляющий данный метод Больше пока ничего не приходит в голову.
Легкий намек на флейм появился? ![]() Технология .NET проектировалась как платформенно-независимая. Доказательством этому служит то, что присутствует JIT-компиляция, которая дает возможность скомпилировать код при запуске на конкретной платформе учитывая её особенности. То, что MS не сделали других реализаций технологии, кроме как под Винду - всего лишь следствие их маркетинговой политики и не нам их за это судить. За них это сделала команда Mono. Под Mono ты можешь запустить в Linux'е код, скомпилированный в IL под Виндой с помощью MS.NET и наоборот (есеесно, с некоторыми оговорками, о которых я писал в соотв. теме в форуме Java - Общие вопросы. |
||||
|
|||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Эээ, нет ![]() -------------------- |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |