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

Шаблон Abstract Factory (Абстрактная фабрика)

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

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

Читать »

Шаблон Composite (Компоновщик)

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

Шаблон Компоновщик предоставляет интерфейс, обеспечивающий одинаковую работу как с отдельным классом, так и с набором классов, поддерживающим те же методы. Это полезно в случаях, когда команду надо одновременно выполнить большому числу схожих по структуре объектов, хотя и принадлежащих, возможно, разным классам (рис. 7.9).

Читать »

Delphi 2006 – Шаблон Proxy (Прокси)

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

Шаблон Прокси подойдет, когда надо эффективно обработать большое количество компактных объектов. Бывают и обратные случаи, когда объектов в программе немного, но каждый требует больших ресурсов, например если объекты — видеоизображения. В таких ситуациях полезно применять шаблон Прокси. Он предоставляет интерфейс, лишь внешне схожий с оригинальным объектом. Ресурсоемкие операции выполняются только при прямом к ним обращении. В остальных случаях выполняются косметические действия или предоставляется на выполнение код нужных методов. Кроме того, в Прокси- методы обычно встраиваются дополнительные средства контроля, например, за правами пользователя, наличием ресурсов и т.п. (рис. 7.13). Прокси-интерфейс в данном шаблоне назван Subject.

Читать »

Delphi 2006 – Шаблон Decorator (Декоратор)

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

Декоратор, как и другие шаблоны данной группы, предоставляет возможность гибкой модификации интерфейса, предназначенного для конечного разработчику. В частности, Декоратор позволяет расширять некоторый класс новыми функциями в случаях, когда наследование этого класса невозможно или приводит к усложнению проекта (если, например, приходится расширять интерфейс на протяжении всей разработки, и каждый раз реали- зовывать дополнение во множестве классов-наследников сложно; или когда требуется модифицировать поведение объекта динамически, во время работы программы), — рис. 7.10.

Читать »

Принцип быстрой разработки Web-служб

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

Концепция Web-служб сегодня по праву считается наиболее перспективным направлением развития сетевого компонентного подхода. Web-служба представляет собой программный интерфейс, к функциям которого можно обращаться дистанционными запросами в стандартной форме по локальной и глобальной сетям. Компоненты, выполненные в классических моделях, остаются довольно сложными в развертывании, программирование обращений к их функциям также не всегда легко выполняется, а поддерживаемые интерфейсы зачастую несовместимы друг с другом. Но самый главный недостаток действующих компонентных моделей заключается в том, что они требуют для своего функционирования определенных архитектур, сред, операционных систем. Поэтому разворачивать и сопровождать на предприятии одновременно несколько платформ (например, Java, CORBA, .NET) весьма накладно и трудоемко.

Читать »

Технологический процесс управления требованиями

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

В данной главе описываются важные концепции определения системных требований и эффективного управления ими. Здесь рассказывается, как проектировать пользовательский интерфейс, акцентируя внимание на нуждах и целях пользователей и других заинтересованных сторон. В главу также включен краткий обзор технологического процесса управления требованиями, как он определен в Rational Unified Process.

Читать »

Статические вложенные типы Java

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

Вложенный класс или интерфейс, объявленный в виде статического (static) Члена внешнего класса или интерфейса, действует так же, как любой обычный (не вложенный) класс или интерфейс, за тем лишь исключением, что его имя и Свойства доступности определяются внешним типом. Имя вложенного типа задается в форме ИмяВнешнегоТипа. ИмяВложенногоТипа. Вложенный тип доступен только в том случае, если доступен соответствующий внешний тип.

Читать »

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

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

 

Абстрактный класс (abstract class) – это класс, который нельзя реализовать непосредственно. Вместо этого создается экземпляр подкласса. Обычно абстрактный класс имеет одну или более абстрактных операций. У абстрактной операции (abstract operation) нет реализации; это чистое объявление, которое клиенты могут привязать к абстрактному классу.

Читать »

Реализация пакетов UML

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

 

Часто встречается ситуация, когда один пакет определяет интерфейс, который может быть реализован многими другими пакетами, как это показано на рис. 7.4. В данном случае отношение реализации означает, что шлюз базы данных (Database Gateway) определяет интерфейс, а другие классы шлюзов обеспечивают реализацию. На практике это может означать, что пакет шлюза базы данных (Database Gateway) содержит интерфейсы и абстрактные классы, которые полностью реализуются в других пакетах.

Читать »

ТгееМар

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

 

   Класс реализует интерфейс Map и обеспечивает хранение ключей в упорядоченном виде теми же способами, какие предусмотрены классом TreeSet (см раздел 16.5.2). Эффективность операций добавления, удаления и поиска пар соответствий ключ/значение оценивается функцией O(logn). Класс , таким образом, целесообразно использовать только при необходимости упорядочения ключей либо в том случае, когда неудачно реализованный метод hashCode объекта-ключа снижает производительность методов HashMap.

Читать »

FilenameFilter и FileFilter в Java

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

 

  Интерфейс FilenameFilter предусматривает возможность создания объекта, Фильтрующего список файлов в соответствии с заданным критерием. В составе интерфейса объявлен единственный метод, описанный ниже.

 

boolean accept(File dir,   String name)

Читать »

Пример простого интерфейса Java

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

 

Некий простой интерфейс часто определяет свойство, присущее множеству объектов самых разнообразных классов. Подобные свойства нередко выражают в терминах способности (“ability”) объекта выполнять определенные функции. Например, в составе стандартных пакетов Java есть немало интерфейсов, в названии которых присутствует характерный суффикс “able”
Читать »

Интерфейсы Java

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

Иногда в ходе проектирования возникает потребность в том, чтобы объявить Методы, которые должны поддерживаться объектами класса, не предлагая конкретной реализации этих методов: в такой ситуации важно просто обеспечить гарантии того, что поведение объектов класса удовлетворяет совокупности некоторых критериев (ее принято называть контрактом), - детали реализации методов до определенного момента не важны. В каждом подобном объявлении Должна быть оговорена сигнатура метода и тип возвращаемого им значения, Чтобы любой класс, реализующий этот метод, подчинялся предложенному вами Контракту. Например, метод предназначен для поиска заданного объекта в некотором множестве объектов определенного типа – вас пока не интересует, каким именно образом организовано множество, к которому должен обращаться этот метод. Ваша настоящая цель состоит в том, чтобы будущие реальные версии метода одинаково успешно справлялись со связанным списком, хеш-таблицей либо любой другой структурой данных.

Читать »

Немного о программах реального времени под Windows

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

Когда Intel в 2004 году объявила о том, что всем нам в недалеком будущем предстоит стройными рядами переходить на последовательный интерфейс PCI Express, я, как инженер-электронщик, задумался— а чем, собственно, последовательные интерфейсы лучше параллельных? Ведь изученные в свое время до мельчайших деталей стандартные СОМ и LPT демонстрировали в сравнении совершенно обратную картину— при примерно равном быстродействии логики. СОМ совершенно законно имел скорость примерно в 10 раз более низкую, чем LPT. Если считать в одних и тех же единицах, то максимальная скорость СОМ достигает 115 Кбит/с, a LPT — до 1,3 Мбит/с, что логично: параллельный порт передает 8 бит за I такт, а последовательный — за 10 (считая стартовые/стоповые биты). Оказалось же вот что: даже учитывая этот коэффициент, более быструю последовательную логику делать дешевле. И еще намного дешевле становится раскладка печатных плат — не только из- за площади, а еще и из-за требования к длине проводников, разница в которой для параллельной передачи при современных скоростях оказывается узким местом. Но нам здесь не придется разбирать эти скоростные интерфейсы — существует очень много технических задач, которые не требуют обмена с подобными скоростями. Как пример "ширпотребовских" устройств такого типа можно привести широко распространившиеся в последние годы модули GPS, обычно имеющие СОМ-интерфейс и работающие на скоростях порядка 9600 бод. И большинство устройств научного, медицинского или инженерного назначения нормально обмениваются данными именно со скоростями того же порядка.

Читать »

Стратегии клонирования Java

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

 

приступая к созданию метода clone какого-либо класса, следует принять к сведению следующие важные соображения.

 

·      Существует пустой интерфейс Cloneable, который необходимо реализовать, чтобы создать метод clone для клонирования объектов класса.1

Читать »