Главная » Статьи для тега "интерфейс"

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

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

 

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

Читать »

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

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

 

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

Читать »

Интерфейс EntityContext

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

public interface EntityContext

Создан на основе EJBContext. Интерфейс предоставляет доступ к контексту окружения, предоставляемому компоненту EJB контейнером во время работы. Интерфейс передается экземпляру компонента EJB-сущности контейнером после создания компонента EJB-сущности.

Читать »

API для работы с сервлетами

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

Программный интерфейс для работы с сервлетами представлен в пакете javax.servlet. Все сервлеты прямо или опосредованно должны имплемен- тировать интерфейс javax.servlet.servlet. Наиболее часто используемые классы и интерфейсы отражены в табл. 4.1.

Таблица 4.1. Наиболее часто используемые классы и интерфейсы

Читать »

Предпочитайте интерфейсы абстрактным классам.

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

В языке программирования Java предоставлены два механизма определения типов, которые допускают множественность реализаций: интерфейсы и абстрактные классы. Самое очевидное различие между этими механизмами заключается в том, что в абстрактные классы можно включать реализацию некоторых методов, для интерфейсов это запрещено. Более важное отличие связано с тем, что для реализации типа, определенного неким. Абстрактным классом, класс должен стать подклассом этого абстрактного класса. С другой стороны, реализовать интерфейс может любой класс, независимо от его места в иерархии классов, если только он отвечает общепринятым соглашениям и в нем есть все необходимые для этого методы. Поскольку в языке Java не допускается множественное наследование, указанное требование для абстрактных классов серьезно ограничивает их использование при определении типов. 

Читать »

Подумайте над реализацией интерфейса ComparabIe

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

 

в отличие от других обсуждавшихся в этой главе методов, метод соmрагеТо в классе Object не декларируется. Пожалуй, это единственный такой метод в интерфейсе java.lang.СоmрагаЫе. По своим свойствам он похож на метод equals из класса Object, за исключением того, что, помимо простой проверки равенства, он позволяет выполнять упорядочивающее сравнение. Реализуя интерфейс СоmрагаЫе, класс показывает, что его экземпляры обладают естественным своиством упорядочения (natиra! ordering). Сортировка массива объектов, реализующих интерфейс СоmрагаЫе, выполняется просто:

Читать »

Пакет javax.ejb

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

В большинстве приложений, в которых применяется технология EJB, используются следующие пакеты:

?   javax.ejb.*

?   j avax.rmi.*

?   javax.naming.*

. * относится к Java 2 Platform, Enterprise Edition.

Читать »

Используйте интерфейсы только для определения типов

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

 

Если класс реализует интерфейс, то этот интерфейс может служить как некий тип, который можно использовать для ссылки на экземпляры этого класса. То, что класс реализует некий интерфейс, должно говорить нечто о том, что именно клиент может делать с экземплярами этого класса. Создавать интерфейс для каких-либо иных целей неправомерно.

Читать »

Архитектура сервлетов

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

Основа API для работы с сервлетами — это интерфейс servlet. Все сервлеты имплементируют этот интерфейс напрямую, либо косвенно, являясь имплементацией дочернего интерфейса HttpServiet. Интерфейс servlet содержит методы для работы с сервлетами, в том числе методы, позволяющие сервлету взаимодействовать с клиентами. Разработчик сервлета использует все или некоторые из этих методов. При получении запроса от клиента, сервлет принимает два объекта: объект ServietRequest и объект Servlet Response. Интерфейс ServietRequest предназначен для осуществления связи от клиента к сервлету, в то время как интерфейс Servlet Response создан для установления связи от сервлета к клиенту. Интерфейс ServietRequest позволяет сервлету получать информацию о параметрах, передаваемых клиенту: протокол и имя удаленного хоста, с которого направлен запрос. Сервлет получает данные, которые передаются по протоколу HTTP. Подклассы интерфейса ServietRequest позволяют получать детальную информацию о передаваемых значениях, в том числе информацию, передаваемую в HTTP-заголовках (HttpServietRequest). Интерфейс servlet Response предоставляет средства для отправки ответа сервлета клиенту посредством потока вывода servietoutputstream (возможно также использование потока writer). Информация может быть передана и в HTTP-заголовках при помощи методов, содержащихся в HttpServiet Response. Помимо базовых функций взаимодействия с клиентом, сервлет может также осуществлять поддержку работы с сессиями.

Читать »

Интерфейс EJBObject

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

public interface EJBObject Создан на основе j ava. rmi . Remote.

Этот интерфейс используется при создании всех удаленных интерфейсов серверных компонентов EJB. Удаленный интерфейс позволяет клиенту "увидеть" серверный компонент EJB. Удаленный интерфейс предоставляет удаленному клиенту доступ к бизнес-методам компонента EJB. Удаленный интерфейс должен основываться на интерфейсе javax.ejb.EJBObject, в нем должны содержаться специфичные для серверных компонентов EJB методы. Удаленный интерфейс компонентов EJB имплементируется в контейнере компонентов EJB.

Читать »

Создание компонентов EJB

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

В этой части главы будет подробно рассмотрена работа с компонентами EJB.

Компоненты EJB-сущности

Компонент EJB-сущности — это объект, который существует постоянно, вне зависимости от работы программы. Она может создать компонента EJB-сущности, а затем может быть прервана и запущена вновь, но созданный компонент EJB-сущности будет существовать все это время без перерыва. После того как программа будет запущена вновь, она сможет найти ранее созданный компонент EJB и использовать его в дальнейшей работе.

Читать »

Интерфейс EJBLocalHome

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

public interface EJBLocalHome

На основе этого интерфейса создаются все локальные домашние интерфейсы компонентов EJB. Интерфейс содержит методы, с помощью которых клиент находит, создает и удаляет объекты компонентов EJB, а также использует домашние методы компонентов EJB. Интерфейс имплементируется в контейнере серверных компонентов EJB.

Читать »

Интерфейс SessionSynchronization

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

public interface SessionSynchronization

Этот интерфейс используется контейнером компонентов EJB для поддержания сессий, для информирования о пределах распространения транзакций. Класс компонента EJB-сессии должен имплементировать этот интерфейс только в том случае, если требуется синхронизация работы компонента EJB в пределах транзакций.

Читать »

Типы серверных компонентов EJB

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

Существует три типа серверных компонентов EJB. Это компоненты EJB- сессий (session bean), компоненты EJB-сущностей (entity bean) и компоненты EJB на основе сообщений (message-driven bean). Рассмотрим характерные различия, которые отличают один тип компонентов EJB от другого.

Читать »

Web-сервер Blazix

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

Рассмотрим параметры конфигурации Web-cepeepa Blazix.

Расположение файла конфигурации сервера

Положение файла конфигурации сервера может быть задано при помощи следующей команды с переключателем -с):

blxweb -с c:\path\myweb.ini ИЛИ

Читать »