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

Редактирование WPF

Добавлено Дата: 9 February, 2012 категория: WPF

Чтобы редактировать значения, должен быть какой то способ узнать, что зна чение изменилось. Помимо разрешения изменять  свойство, существует несколь ко интерфейсов, которые позволяют объекту или списку рассылать извещения об изменении.  Если источник  данных уведомляет  об изменении,  то система связы вания  сможет  отреагировать на  модификацию данных.  Чтобы  наделить   наш класс Person способностью извещать об изменениях, у нас есть три возможности: (1)  реализовать интерфейс INotifyPropertyChanged, (2)  добавить события, с по мощью которых мы будем сообщать об изменении,  (3)  создать свойства,  произ водные от класса DependencyProperty.

Читать »

События с несколькими стоками

Добавлено Дата: 6 February, 2012 категория: Delphi

Хотя описанная выше методика прекрасно работает при  генерации событий, предназначенных для одного  клиента, она не так уж хороша при  работе с нескольки ми клиентами. Однако  ситуации подключения к серверу  нескольких клиентов возни кают довольно часто,  и в этом случае необходимо генерировать события для всех кли ентов.  К счастью, для этого  потребуется добавить лишь несколько строк  кода. Чтобы создать  события для нескольких клиентов, нужно  написать код,  опрашивающий все имеющиеся подключения и вызывающий соответствующий метод  стока.  Это  можно реализовать, внеся несколько изменений в предыдущий пример.

Читать »

Объекты COM и фабрики классов

Добавлено Дата: 3 February, 2012 категория: Delphi

Кроме  поддержки одного  или нескольких интерфейсов, которые происходят от ин терфейса IUnknown, и реализации счетчика ссылок  для отслеживания своего  срока  су ществования, объекты COM  имеют  еще  одну специфическую особенность: они  созда ются специальными объектами, называемыми фабриками классов (class factories). Каждый класс  COM  имеет  соответствующую фабрику  класса,  которая отвечает за создание эк земпляров объектов данного класса  COM.  Фабрика класса —  это  специальный объект COM,  поддерживающий интерфейс IClassFactory. Данный интерфейс определен в модуле ActiveX следующим образом:

Читать »

Применение dbGo for ADO при разработке баз данных

Добавлено Дата: 16 January, 2012 категория: Delphi

Обзор стратегии Microsoft по универсальному доступу к данным

Предложенная корпорацией  Microsoft стратегия универсального доступа  к  данным (Universal Data Access) заключается в использовании одной  общей  модели.  При  этом учитываются как реляционные, так и нереляционные базы  данных.  Такая  идея  была реализована с помощью компонентов Microsoft для доступа к данным (MDAC — Microsoft Data Access Components), которые уже установлены на всех системах Windows 2000 и могут быть загружены по адресу http://www.microsoft.com/data/.

Читать »

Реализация интерфейса Java

Добавлено Дата: 7 January, 2012 категория: Java, Структуры данных и алгоритмы

Основным структурным элементом Java, лежащим в основе ИПП, является интерфейс. Интерфейс представляет собой совокупность заголовков методов без их реализации и данных. Другими словами, методы интерфейса всегда пусты. Если в классе реализуется интерфейс, в нем реализуются и все методы, объявленные в интерфейсе. Таким образом, интерфейс поддерживает наследование типа конкретизации, при котором требуется указание всех наследуемых методов.

Читать »

Интерфейс Stack

Добавлено Дата: 28 December, 2011 категория: Java, Структуры данных и алгоритмы

Класс Stack является одним из’«встроенных» классов Java, который входит в пакет java.util. Класс java.util.Stack является структурой данных объединяющей общие объекты Java, а также методы push(obj), popQ peek() (эквивалент top()), size() и empty() (эквивалент isEmptyO). Методь pop() и peek() могут генерировать исключение StackEmptyException, если при обращении к ним стек пуст. Хотя использование встроенного класа java.util.Stack является достаточно понятным, все же рассмотрим, каки\ образом изначально происходит создание и реализация стека.

Читать »

Использование API транзакций EJB

Добавлено Дата: 19 December, 2011 категория: Java, JavaBeans

Все транзакции используют Java Transaction API (JTA). Когда для управления транзакциями используется режим СМТ, границы

транзакции определяются автоматически и вызовы JTA API выполняются Контейнером; код вашего Компонента не содержит этих вызовов.

Читать »

Словари пакета java.util

Добавлено Дата: 14 December, 2011 категория: Java, Структуры данных и алгоритмы

Стандартный пакет java.util содержит и интерфейс АТД «словарь», называемый java.util.Map. Кроме того, этот пакет включает абстрактный класс java.util.Dictionary, который тоже соответствует описанному выше АТД «словарь». Но этот абстрактный класс считается устаревшим. И java.util.Map, и java.util.Dictionary сформулированы таким образом, что реализация класса требует уникальности ключей. Так, например, в интерфейсе java.util.Map отсутствует метод, соответствующий методу findAllElements(A;). За исключением требования уникальности ключей, интерфейс java.util.Map почти полностью соответствует вышеописанному АТД «словарь». И все же имеются два почти неуловимых отличия между описанным АТД и интерфейсом java.util.Map, о чем ниже.

Читать »

Разработка Компонента EJB

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

В этом разделе внимание уделяется тем задачам, которые в процессе создания Компонента EJB должен решать bean provider. Вот они:

•          Объявление и написание кода класса Компонента. Это и есть реализация бизнес-логики Компонента.

Читать »

Приведение типов внутри интерфейсов

Добавлено Дата: 8 December, 2011 категория: Java, Структуры данных и алгоритмы

В Java можно описать общие структуры данных, с помощью которых организованы элементы общего класса или интерфейса. Такие структуры могут быть использованы для хранения элементов лщбого класса, который является наследником общего класса или реализует общий интерфейс. Например, необходимо описать интерфейс Person для всех классов, связанных с людьми. Это можно сделать так, как показано во фрагменте кода 2.11.

Читать »

Интерфейсы и абстрактные классы

Добавлено Дата: 7 December, 2011 категория: Java, Структуры данных и алгоритмы

Для того чтобы два объекта могли взаимодействовать, они должны «знать», какие типы сообщений может принимать каждый из объектов, то есть какие методы поддерживает каждый из них. Для обеспечения подобного «знания» в парадигме объектно-ориентированного программирования классы должны содержать интерфейс прикладного программирования[7] (ИПП), или просто интерфейс, который объекты данного класса будут представлять для других объектов. В книге структуры данных рассматриваются, исходя из понятия абстрактных типов данных, и интерфейс, который в свою очередь описывает АТД, содержит описание типа данных и методы работы с данными этого типа, а также с аргументами соответствующего типа для каждого метода. Такое соответствие обусловлено особенностями компилятора или исполняющей системы, которые требуют, чтобы тип передаваемых в метод параметров точно соответствовал типу, указанному в интерфейсе. Данное требование называется правилом строгого контроля типов. Безусловно, работа программиста усложняется необходимостью создания описаний интерфейсов, а затем строгого контроля типов данных в этих описаниях, тем не менее подобные сложности компенсируются преимуществами такого подхода в дальнейшем, а именно — использование принципа инкапсуляции и перехват ошибок программирования, которые в противном случае не были бы замечены.

Читать »

Ноте-интерфейс Entity-Компонента EJB

Добавлено Дата: 2 December, 2011 категория: Java, JavaBeans

 

Ноте-интерфейс Entity-Компонента содержит точно такие же методы create(), как и Session-Компонент. В дополнение к ним, интерфейс определяет find-методы для поиска нужных экземпляров Компонента с целью их последующего использования. Такие операции необходимы, так как экземпляры Entity-Компонентов являются "долгоживущими" объектами и могут использоваться многими клиентами. Для большинства приложений, используемые в них Entity-Компоненты уже существуют и клиент просто должен найти нужный экземпляр для выполнения вызова.

Читать »

Delphi 2006 – Управляемый и неуправляемый код

Добавлено Дата: 28 November, 2011 категория: Delphi

Код, отвечающий требованиям общеязыковой среды CLR выполнения .NET- программ и способный обращаться к ее службам, называется управляемым. Практически все профессионально сделанные .NET-приложения базируются на управляемом коде, хотя не всегда такой код будет гарантированно безопасным. При создании .NET-приложений компилятор Delphi по умолчанию генерирует управляемый код. Отметим, что в поставку Borland Development Studio 2006 также входят .NET-компиляторы С# и VB.NET. При этом имеется возможность загрузки и переноса в Delphi проектов Microsoft Visual Studio, написанных на этих двух языках. В пакет BDS 2006 входит также среда программирования на языке С++ (C++Builder), но трансляция программ, написанных на этом языке, в управляемый код сопряжена со значительными сложностями, а в ряде ситуаций невозможна. Так, например, в технологии .NET не допускается множественное наследование и введены существенные ограничения на работу с указателями. Поэтому компилятор C++Builder можно использовать лишь для создания программ Win32.

Читать »

Базовый класс EJBHome

Добавлено Дата: 27 November, 2011 категория: Java, JavaBeans

Каждый home-интерфейс наследует интерфейс j avax. ejb. EJBHome. Пример Кода 4.3 показывает определение этого интерфейса:

Пример кода 4.3 Определение интерфейса EJBHome

package javax.ejb;

public interface EJBHome extends java.rmi.Remote {

Читать »

Delphi 2006 – Шаблон Visitor (Посетитель)

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

Последний из рассматриваемых здесь шаблонов, Посетитель, позволяет выделить некоторый набор операций, характерный для множества классов с различными структурами. Этот набор по различным причинам нежелательно вносить в описание классов (например, он может постоянно расширяться, а число различных классов, подлежащих модификации, велико), и в то же время вызываться должны методы, четко привязанные к конкретным контекстам исполнения (рис. 7.24).

Читать »