The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз OpenSource реализации .Net-платформы Mono 2.10"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Релиз OpenSource реализации .Net-платформы Mono 2.10" +2 +/
Сообщение от iZEN (ok), 19-Фев-11, 17:52 
>> А вот это в Java нужно меньше всего. Да.
> unsigned - приходилось работать с подобными типами данных? И каково?

Ни разу не понадобилось.

> property - удобнейшая вещь, почему же это она, позвольте поинтересоваться, не нужна?

Лишняя сущность, запутывающая  разработчика неоднозначностью при многопоточной работе.

"Лично мне свойства не нравятся, и я был бы рад, если бы их поддержку убрали из Microsoft .NET Framework и сопутсвующих языков программирования. Причина в том, что свойства выглядят как поля, на самом деле являясь методами. Это порождает массу заблуждений и непонимания. Столкнувшись с кодом, обращающимся к полю, разработчик предполагает наличие массы условий, которые не всегда верны, если речь идет о свойстве.
...
— метод свойства может привести к исключению, а при доступе к полям исключений не бывает;
...
— метод свойства может выполнятся довольно долго, а доступ к полям выполняется моментально. Часто свойства используют для синхронизации потоков, но это может привести к приостановке потока на неопределенное время — поэтому свойства не следует использовать для этих целей — в такой ситуации лучше задействовать метод. Кроме, того если предусмотрен удаленный доступ к классу (например, если он наследует System.MarshalByRefObject), вызов метода свойства выполнится очень медленно, поэтому предпочтение следует отдать методу. Я считаю, что в классах, производных от MarshalByRefObject, никогда не следует использовать свойства;
— при вызове несколько ряд подряд метод свойства может возвращать разные значения, а поле возвращает одно и тоже значение. В классе System.DateTime есть неизменяемое свойство Now ...
— метод свойства может создавать наблюдаемые стороние эффекты, а при доступе к полю это невозможно...
— методу свойства может требоваться дополнительная память или ссылка на объект, не являющаяся частью состояния объекта, поэтому изменение возвращаемого объекта никак не сказывается на исходном объекте; при запросе поля всегда возвращается ссылка на объект, который гарантировано относиться к состоянию исходного объекта. Свойство, возвращающее копию, — источник замешательства для разработчиков, причем это поведение часто забывают упомянуть в документации." © Джеффри Рихтер, CLR via C#, Издательство "Питер", 2007 г., стр 208.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз OpenSource реализации .Net-платформы Mono 2.10, opennews, 18-Фев-11, 18:59  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру