Главная » Статьи для тега "который"

©since в Java

Добавлено Дата: 26 May, 2011 категория: Java

 

   Тэг @since позволяет задать номер версии, который обозначает, с какого момента определенная сущность добавлена в код или изменена:

     @since  2.1

Обозначение номера версии посредством @since помогает отследить хронологию появления нововведений и внесения исправлений — такая информация сосредоточивает внимание пользователей кода на тех его аспектах, которые, возможно, заслуживают особого отношения (скажем, дополнительного тестирования). В соответствии с принятым соглашением, тэг @since, которым обозначен тип (класс или интерфейс), применяется  ко  всем  членам  этого  типа,   не  снабженным   собственными  тэгам @since. Если, например, приведенный выше тэг предшествует объявлению класса, все конструкторы, методы и поля последнего будут восприниматься как такие, которые присутствуют в составе класса, начиная с версии 2.1, — за исключением иных сущностей, объявленных, скажем, в версии 2.2 класса.

Читать »

Класс AccessController и привилегированные операции

Добавлено Дата: 17 May, 2011 категория: Java

 

Класс AccessController имеет три области применений:

 

* поддерживает базовую  версию  метода  checkPermission,   используемую

менеджерами безопасности для выполнения проверки полномочий;

 

* обеспечивает средства создания моментального снимка (snapshot) текуще

Читать »

Вызов Safari iPhone

Добавлено Дата: 17 May, 2011 категория: iPhone

Иногда для отображения Web-страницы в вашем приложении удобно вызвать Safari; например, когда пользователь нажимает кнопку перехода на домашнюю страницу на экране вашего приложения с титрами. Класс UIApplication поддерживает метод openURL, который может использоваться для незаметного запуска Safari и загрузки в новом окне Web-страницы.

Читать »

Рассмотрите возможность замены конструкторов статическими методами генерации.

Добавлено Дата: 16 May, 2011 категория: Java, Советы

 

Обычно для того, чтобы клиент мог получать экземпляр класса, ему предоставляется открытый (pubIic) конструктор. Есть и другой, менее известный прием, который должен быть в арсенале любого программиста. Класс может иметь открытый  статический метод генерации (static factory method), который является статическим методом, возвращающим экземпляр класса. Пример такого метода возьмем из класса Boolean (являющего оболочкой для простого типа boolean). Приведенный ниже статический метод генерации, который был добавлен в версию 1.4, преобразует значение boolean в ссылку на объект Boolean:

Читать »

Правила использования исключений Java

Добавлено Дата: 15 May, 2011 категория: Java

в начале главы, говоря об обстоятельствах возникновения исключений, мы употребили фразу "неожиданная ошибочная ситуация". Исключения, вообще говоря, не предназначены для описания простых, предсказуемых условий работы программы. Например, достижение конца входного потока данных в процессе его чтения – это совершенно очевидная ситуация, поэтому умение обрабатывать условие "конец потока" должно быть неотъемлемой частью контракта метода, который возвращает из Потока очередной элемент данных. В этом смысле вполне разумно в качестве признака достижения конца потока использовать специальный флаг – такое соглашение легко для понимания и реализации разработчиками сторонних приложений. Рассмотрим программный фрагмент, представляющий типичную ситуацию, в которой целесообразно использовать возвращаемый флаг:

Читать »

Указатель на функцию заменяйте классом и интерфейсом

Добавлено Дата: 15 May, 2011 категория: Java, Советы

 

Язык С поддерживает указатели на функции (function pointer), что позволяет программе хранить и передавать возможность вызова конкретной функции. Указатели на функции обычно применяются для того, чтобы разрешить клиенту, вызвавшему функцию, уточнить схему ее работы, для этого он передает ей указатель на вторую функцию. Иногда это называют обратным вызовом (callback). Например, функция qsort из стандартной библиотеки С получает указатель на функцию-компаратор (comparator), которую затем использует для сравнения элементов, подлежащих сортировке. Функция-компаратор принимает два параметра, каждый из которых является указателем на некий элемент. Она возвращает отрицательное целое число, если элемент, на который указывает первый параметр, оказался меньше элемента, на который указывает второй параметр, нуль, если элементы равны между собой, и положительное целое число, если первый элемент больше второго. Передавая указатель на различные функции-компараторы, клиент может получать различный порядок сортировки. Как демонстрирует шаблон Strategy [Сатта95, стр. 315], функция-компаратор представляет алгоритм сортировки элементов.

Читать »

Добивайтесь атомарности методов по отношению к сбоям

Добавлено Дата: 15 May, 2011 категория: Java, Советы

 

После того как объект инициирует исключение, обычно необходимо, Ч1’обы он оставался во вполне определенном, пригодном для дальнейшей обработки состоянии, даже несмотря на то, что сбой произошел непосредственно в процессе ВЫl1Dлнения -операции. Особенно это касается обрабатываемых исключений, когда предполагается, что клиент будет восстанавливать работоспособность программы. Вообще говоря, вызов метода, завершившийся сбоем, должен оставлять обрабатываемый объект в том же состоянии, в каком тот был перед вызовом. Метод, обладающий таким свойством, называют атомарным по отношению к сбою (failure atomic).

Читать »

Панели инструментов (toolbars) iPhone

Добавлено Дата: 14 May, 2011 категория: iPhone

Панели инструментов (toolbars), называемые также панелями кнопок, явл» ются одним из решений Apple для универсальных устройств, не имеющих настоящих кнопок. Многие из функционально богатых приложений iPlioiu имеют четыре или пять важных функций, доступ к которым пользователь необходимо получать быстро. Расположенные внизу экрана, панели инструментов предоставляют то, что традиционно рассматривается как ярлык» Возвращаясь к метафоре Apple с книгой, панели инструментов являются закладками к различным главам книги.

Читать »

Для ссыпки на объект используйте его интерфейс

Добавлено Дата: 14 May, 2011 категория: Java, Советы

 

В статье 25 дается совет: в качестве типа параметра указывать интерфейс, а не класс. В более общей формулировке: ссылаясь на объект, вы должны отдавать предпочтение не классу, а интерфейсу. Если есть подходящие типы интерфейсов, то параметры, возвращаемые значения, переменные и поля следует декларировать, указывая интерфейс. Единственный случай, когда вам нужно ссылаться на класс объекта,- при его создании. Для пояснения рассмотрим случай с классом Vector, который является реализацией интерфейса List. Возьмите за правило писать так

Читать »

Реализация диаграмм состояний UML

Добавлено Дата: 14 May, 2011 категория: UML

 

Диаграмму состояний можно реализовать тремя основными способами: с помощью вложенного оператора switch, паттерна State и таблицы состояний. Самый прямой подход в работе с диаграммами состояний – это вложенный оператор switch, такой как на рис. 10.6

Читать »

Избегайте избыточной синхронизации

Добавлено Дата: 14 May, 2011 категория: Java, Советы

 

Статья 48 предупреждает об опасностях недостаточной синхронизации. Данная статья посвящена обратной проблеме. В зависимости от ситуации избыточная синхронизация может приводить к снижению производительности приложения, взаимной блокировке потоков или даже к непредсказуемому поведению программы.

Читать »

Используйте исключения лишь в исключительных ситуациях

Добавлено Дата: 13 May, 2011 категория: Java, Советы

 

Однажды, если вам не повезет, вы сделаете ошибку в программе, например, такую:

// Неправильное использование исключений. Никогда так не делайте!

try {

int i = 0;

while(true)

а[i++]. f();

} catch(ArraylndexOutOfBoundsException е) {  }

Читать »

При необходимости создавайте резервные копии

Добавлено Дата: 12 May, 2011 категория: Java, Советы

 

Одно из особенностей, благодаря которой работа с языком программирования Java доставляет такое удовольствие, является его безопасность. Это означает, что в отсутствие машинно-зависимых методов (native method) он неуязвим по отношению

Читать »

Прозрачные виды iPhone

Добавлено Дата: 10 May, 2011 категория: iPhone

В главе 7 мы познакомились с классом uicompositeimageview, который позволяет наслаивать друг на друга несколько изображений, добавляя при этом уровни прозрачности для создания различных эффектов. Класс uiview предоставляет схожую функцию setAlpha, позволяющую настраивать прозрачность вида:

Читать »

Апплеты и графика

Добавлено Дата: 10 May, 2011 категория: Java, Web

Апплет сам по себе является графическим компонентом. Компонент — это визуальный элемент. К числу компонентов относятся кнопки, меню, текстовые поля, поля для ввода текста, поля с прокруткой, поля для отметки и т. п. Компоненты описываются в виде классов, основанных на классе java.awt.Component. Что касается апплетов Japplet, то большинство компонентов этих апплетов являются подклассами класса javax.swing.jcomponent. Каждый компонент отвечает за отображение самого себя своими средствами.

Читать »