• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)




Найдено страниц: 35 [показано 10]

  1. Урок информатики для мелкософта (пояснение к залепе №8)

    Степень соответствия запросу: 48,93%
    Фрагменты текста поста :
    ... А получится следующее: для объекта a будет вызван метод T operator+(const T&) const , которому в качестве параметра будет "скормлен" объект b... ... этот метод что-то сделает (например прибавит одно к другому) и создаст временный объект типа Т для хранения результата... ... затем метод вернет ссылку на созданный временный объект (назовем его " объектом D ")... ... будет вызван метод объекта с : T& operator=(const T&) , т... ... этот метод и приведет объект с в соответствие с состоянием объекта D , переданного в качестве аргумента... ... Временный объект D будет уничтожен... ... Первоочередную важность тут имеют не вызовы методов и не махинации с объектами, а тот факт, что наше простейшее и казалось бы безобидное выражение c = a + b приводит к автоматическому (скрытому от наших глаз) созданию и уничтожению объекта со всеми вытекающими отсюда накладками... ... Но тут я хочу напомнить, что создание объекта - это не только выделение памяти под сам объект, но и создание и инициализация всех его членов-полей (которые, в свою очередь, тоже могут быть объектами), а также выполнение конструктора этого объекта и всех конструкторов всех его предков... ... Соответственно уничтожение объекта - это вызов деструкторов объекта и всех деструкторов всех его предков плюс уничтожение всех его членов-полей, которые тоже могут быть объектами... ... Ну, а если этот объект представляет собой, например, таблицу из базы данных, который, вдобавок ко всему сказанному, при инициализации будет устанавливать соединение с этой самой БД и загрузку данных из нее, отъедая не только память и процессорное время, но еще и канал связи... ... Подумайте, такими ли скромными могут оказаться на практике эти "накладные расходы"... ... настоящие кодеры уже поняли к чему весь этот длинный пост и, вставляя трясущейся рукой сигарету в рот, судорожно прокручивают в мозгу все ужасные последствия применения этого " выведения сокращенного оператора из полного " по схеме " а'ля Шарп "... ... Берем выражение a += b и препарируем его: для объекта a будет вызван метод T& operator+=(const T&) , которому в качестве параметра будет "скормлен" объект b... ... этот метод что-то сделает с объектом а (изменит его состояние ) и вернет ссылку на объект а... ... Отличие шарпа от С++ (в данном случае) в том, что наши переменные a и b являются на самом деле не "хранителями" объекта, а всего лишь ссылками на него... ... теперь ссылается на тот же объект в памяти, на который ссылается a... ... x становится равным 4 (они же ссылаются на один и тот же объект) после выполнения сгенерированного компилятором оператора operator+=() происходит что-то очень странное - связь переменных a и c внезапно разрывается, ибо теперь они указывают на совершенно разные объекты... ... Разве наше сложение не должно просто изменить объект, на который ссылается переменная a и всё... ... Получается, что оператор сложения создал временный объект с результатом (помните " объект D "... Подробнее: http://fit-media.com/post_1198760520.html


  2. Оптимизируем мышиную возню

    Степень соответствия запросу: 31,94%
    Фрагменты текста поста :
    ... и сравню их с Adobe Photoshop : чтобы создать копию объекта, схватите его левой кнопкой мыши, оттащите и, не отпуская левую кнопку, щелкните правой... ... При этом исходно-захваченный объект вернется на свое место, а у вас "в руках" окажется его копия, которую вы можете тащить дальше... ... левый клик приводит к выделению объекта... ... При этому вокруг объекта появляются контрольные квадратики, тягая которые можно передвигать и масштабировать объект... ... Повторный левый клик по уже выделенному объекту меняет контрольные квадраты на контрольные стрелки, с помощью которых можно поворачивать и наклонять объект... ... Правда одновременно с масштабированием можно еще и поворачивать объект... ... Но зато для переключения в другие режимы (например для наклона объекта) приходится делать правый клик по объекту и выбирать нужный режим из выпадающего меню... ... Не забывайте, что даже с таким "скромным" набором элементов управления можно выстраивать очень хитрые комбинации типа: схватить объект левой кнопкой мыши, тащить объект с нажатой Ctrl + клики правой кнопкой... ... Если описанная комбинация будет в мозгу пользователя выстраиваться во вполне осмысленную логическую цепочку действий, то подобные выкрутасы не нужно будет даже документировать - пользователи сами их найдут и будут активно использовать... ... Для вышеописанного выше "китайского кода" может быть такое, например, объяснение: левой кнопкой хватаем и тащим объекты по экрану... ... клик правой кнопкой вызывает создание копии объекта в текущей позиции... ... Часто даже матерые пользователи забывают (а многие об этом и не догадываются), что объекты можно таскать не только левой кнопкой , но и правой и даже средней... ... Везде где можно используйте возможности технологии "Drag-and-Drop" Пользователю гораздо удобнее схватить объект и перетащить его в корзину или в другое окно, чем отметить объект и потом лазить по пунктам меню (или по многочисленным тулбарам) в поисках команды удаления/переноса... ... В роли этих зон могут работать даже обычные кнопки тулбара... Подробнее: http://fit-media.com/post_1199978157.html


  3. Залепа №9. Microsoft друзей не признает.

    Степень соответствия запросу: 8,03%
    Фрагменты текста поста :
    ... Голуба "Правила программирования в С и С++" (речь идет именно о C++): Цитата: Как-то раз я видел интерфейс, в котором объект "календарь" позволял пользователю интерактивно выбирать дату, щелкая мышью на каком-либо из дней, показанных на изображении календаря... ... "Календарь" затем экспортирует эту дату в другие части программы, помещая ее в объект "дата", который возвращается из сообщения get_date()... ... При выполнении должным образом единственным видимым в других частях программы объектом был бы объект "дата"... ... "Дата" использовала бы объект "календарь" для реализации сообщения "инициализируй_себя" (которое могло бы быть конструктором), но "календарь" бы содержался внутри "даты"... ... Объект "дата" также мог бы поддерживать другие инициализирующие сообщения, такие как "инициализируй_себя_от_редактируемого_ввода" или "инициализируй_себя_из_строки", но во всех случаях объект "дата" отвечает за нужное для инициализации взаимодействие с пользовательским интерфейсом... ... никто, кроме "даты", даже бы не знал о существовании объекта "календарь"... ... Затем вы можете передавать объект "дата" всюду, куда необходимо... ... // создали объект "дата" с текущей датой внутри cd = new CDate("15... ... Из третьего пункта следует, что объекты класса CCalendar будут создаваться не пользователем, а только классом CDate , им же они будут контролироваться в течении всей жизни календаря и, в конце-концов, он же их будет и уничтожать... ... Судя по первым двум пунктам, наши объекты CDate и CCalendar будут активно вызывать методы друг друга... Подробнее: http://fit-media.com/post_1199568462.html


  4. Кручу, верчу, обмануть хочу!

    Степень соответствия запросу: 4,38%
    Фрагменты текста поста :
    ... Поворот объекта в фотошопе"... ... как повернуть рисунок в Photoshop"... ... :) Итак, давайте научимся поворачивать объекты в Photoshop... ... Этот пункт позволяет повернуть выделенную область изображения относительно центральной точки (которая задается уже известным вам "... ... Если при повороте держать нажатой клавишу Shift , то объект будет поворачиваться на угол, кратный 15 градусам... ... Таким способом можно легко и точно повернуть объект на 15, 30, 45, 60, 75 и более градусов... ... Как видно из названия, эта трансформация позволяет наклонять объекты... ... Но я не могу упустить в этой статье еще один вид трансформации - свободную трансформацию (Free Transform)... ... Это значит, что нажав левую кнопку мыши и потянув в сторону вы повернете объект... Подробнее: http://fit-media.com/post_1212106379.html


  5. 14 принципов создания вежливых программ

    Степень соответствия запросу: 2,7%
    Фрагменты текста поста :
    ... Другими словами, человек обладает определенными инстинктами, которые говорят ему, как вести себя в обществе других чувствительных созданий, поэтому как только некий объект проявляет определенные познавательные способности, эти инстинкты начинают действовать и мы начинаем реагировать на этот объект так же, как на других людей... ... Их способ общения так точен, что они могут показаться практически неспособными к общению... ... Концепции вежливости или даже человечности, могут быть камнем преткновения для программистов... ... Например, программа может утверждать, что я не могу отправить заказ, пока не введу свой номер социального страхования, но если я все таки захочу отправить заказ без него, программа должна сделать так как я сказал... ... Когда я ищу информацию в Интернет через поисковую машину, я не могу быть уверен, что не наткнусь на неработающую ссылку... ... С другой стороны, если компьютер имеет какие-то подозрения, что я могу ошибаться – что может быть всегда – он должен предусмотреть это, и подготовиться к возможному восстановлению файла, если я вдруг передумаю... ... Если нас поймают, последствия могут оказаться значительными... ... Компьютерные системы могут находиться только в двух состояниях: не-существование или полное соответствие... Подробнее: http://fit-media.com/post_1203349390.html


  6. Максимум производительности

    Степень соответствия запросу: 1,38%
    Фрагменты текста поста :
    ... Неотложные ситуации могут служить причиной для изменения маршрута, запроса новой информации и т... ... выбор объекта, который нужно сфотографировать... ... Некоторые задачи могут представлять собой сложную смесь манипуляций и принятия решений... ... Уменьшение необходимости ввода данных Следующие методы могут увеличить производительность ввода данных, уменьшая количество необходимой для ввода информации: Автоматически заполняйте поля новой записи значениями предыдущей... ... Как могут быть тысячи записей доступны в любой момент на удаленном клиентском компьютере... ... Они делают это не потому, что действительно хотят работать с неэффективной системой, просто они вдруг понимают, что теперь могут позволить себе потратить время на сбор дополнительной, вторичной информации... ... Этот метод значительно отличается от ситуации, когда пользователь, достигнув очередной развилки на дороге, постоянно решает куда повернуть теперь... ... Когда оставшееся время предугадать невозможно, покажите анимированный объект, который даст пользователям понять, что система не зависла... Подробнее: http://fit-media.com/post_1207048697.html


  7. Залепа №3. Майкрософт - антиглобалист!

    Степень соответствия запросу: 1,06%
    Фрагменты текста поста :
    ... Смысл этого отказа остается непонятным - без глобальных объектов просто невозможно написать ни одной программы, в крайнем случае хотя бы один объект но все же будет глобальным... ... Например объект, представляющий само приложение :) Но давайте лучше рассмотрим КАК это выглядит на практике... ... Думаю, никто не будет спорить, что в любой программе есть функции, не привязанные к какому-то определенному объекту, т... ... Так же есть и объекты, не являющиеся членами других объектов, т... Подробнее: http://fit-media.com/post_1197554266.html


  8. Залепа №13. О грамотном проектировании и неграмотном IDE.

    Степень соответствия запросу: 0,62%
    Фрагменты текста поста :
    ... Например, это могут быть справочники телефонных кодов, типов продукции, видов доставки, да чего угодно... ... Но если это будет справочник артикулов продукции, которых может быть несколько десятков тысяч, то мы получи дикий перерасход памяти, ведь для каждого объекта будет создано отдельное (пусть и скрытое) окно... ... все объекты вложенного класса (кем бы и где бы они не были созданы) имеют ПОЛНЫЙ доступ к членам своего класса-оболочки: они могут использовать и защищенные и даже закрытые методы класса-оболочки... ... Встроенные классы могут без проблем обращаться к внутренним (закрытым) методам класса CUserMgr , что позволяет в ряде случаев сильно упростить программирование этих классов... Подробнее: http://fit-media.com/post_1204892317.html


  9. Пользовательский интерфейс

    Степень соответствия запросу: 0,52%
    Фрагменты текста поста :
    ... Для Карда анимация - принципиальный момент, так как " анимация сохраняет в восприятии пользователя идентичность объекта ", то есть пользователь легко соотносит объекты в конечной точке движения с объектами в начальной... ... С другой стороны, и такой простой сигнал, как мигание, имеет действительно миллионы хорошо осознаваемых оттенков, связанных с изменением яркости объекта во времени... ... Попытки потрясти мир могут привести к быстрой утомляемости пользователя и, как следствие, отторжению системы... Подробнее: http://fit-media.com/post_1204019048.html


  10. Залепа №8. Крах технологии от обычного int'а.

    Степень соответствия запросу: 0,43%
    Фрагменты текста поста :
    ... Пытался вникнуть в суть технологии, подстроиться как-то, понять то, что все еще понять не могу, приспособиться и начать (наконец... ... // теперь А и С указывают на один и тот же объект       a... ... Да и отловится он там моментально, как только вы уничтожите "лишний" объект... ... Приведенный пример, на мой взгляд, очень наглядно показывает, что в C# могут быть неудобства и пострашнее чем в С++... Подробнее: http://fit-media.com/post_1198554053.html


История внешних поисковых запросов

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,41555 сек.
  • Память: 17 664 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS