The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз OpenSource реализации .Net-платформы Mono 2.10"
Отправлено iZEN, 19-Фев-11 17:52 
>> А вот это в Java нужно меньше всего. Да.
> unsigned - приходилось работать с подобными типами данных? И каково?

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

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

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

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

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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