Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Технология COM (Технология COM)

Содержание:

ВВЕДЕНИЕ

В современном бизнесе уже невозможно обойтись без опоры на сложные инфосистемы с распределенной архитектурой.

Принято считать, что появление и развитие платформы Unix, ПК, локальных сетей и приложений клиент/сервер стало основным стимулом для развертывания в корпорациях распределенной информационной инфраструктуры.

Но нельзя забывать и о том, что сегодня существенно меняются и сами принципы ведения бизнеса.

Становится нормой распределение ответственности за принятие решений по большому числу независимых бизнес-подразделений корпорации.

Меняются информационные потребности внутри предприятия.

Распределенные информационные системы охватывают практически все аспекты работы, делая все более тесной связь между производственными объектами и компонентами информационной инфраструктуры

Глава 1. Теоретическая часть

1.1 Введение

Технология СОМ применяется при описании API и двоичного стандарта для связи объектов различных языков и сред программирования. СОМ предоставляет модель взаимодействия между компонентами и приложениями.

Технология СОМ работает с так называемыми СОМ-объектами. СОМ-объекты похожи на обычные объекты визуальной библиотеки компонентов Delphi. В отличие от объектов VCL Delphi, СОМ-объекты содержат свойства, методы и интерфейсы.

Технология CORBA, разрабатываемая с 1989 года консорциумом OMG (Object Management Group), является результатом работы ведущих специалистов из более чем 800 компаний и организаций. Четкий процесс стандартизации, включая аспекты взаимодействия реализаций CORBA от разных поставщиков (интероперабельность), независимость от языков программирования и операционных сред, фундаментальная поддержка ООП и многие другие уникальные характеристики, сделали CORBA ведущим стандартом в области инфраструктурного middleware.

Развитие СОМ-технологий

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

1.2 Технология COM

Одним из главных достоинств Delphi является поддержка технологий СОМ и ActiveX. В этой главе мы рассмотрим, что представляет собой технология СОМ, в чем различие между технологиями COM, ActiveX и OLE.

Итак, COM (Component Object Model) - это объектная модель компонентов. Данная технология является базовой для технологий ActiveX и OLE. Технологии OLE и ActiveX - всего лишь надстройки над данной технологией. В качестве примера можно привести объект TObject, как базовый объект VCL Delphi. В этой главе мы рассмотрим, что представляет собой технология СОМ, в чем различие между технологиями COM, ActiveX и OLE.

Обычный СОМ-объект включает в себя один или несколько интерфейсов. Каждый из этих интерфейсов имеет собственный указатель.

Примечание

Хотя технология СОМ обладает явными плюсами, она имеет также и минусы, среди которых зависимость от платформы. То есть, данная технология применима только в операционной системе Windows и на платформе Intel.

Все СОМ-объекты обычно содержатся в файлах с расширением DLL или OCX. Один такой файл может содержать как одиночный СОМ-объект, так и несколько СОМ-объектов.

Ключевым аспектом технологии СОМ является возможность предоставления связи и взаимодействия между компонентами и приложениями, а также реализация клиент-серверных взаимодействий при помощи интерфейсов.

Технология СОМ реализуется с помощью СОМ-библиотек (в число которых входят такие файлы операционной системы, как OLE32.DLL и OLE-Aut32.DLL). СОМ-библиотеки содержат набор стандартных интерфейсов, которые обеспечивают функциональность СОМ-объекта, а также небольшой набор функций API, отвечающих за создание и управление СОМ-объектов.

В Delphi реализация и поддержка технологии СОМ называется каркасом Delphi ActiveX (Delphi ActiveX framework, DAX). Реализация DAX описана в модуле Axctris.

Развитие СОМ-технологий

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

Самыми первыми попытками решить эту непростую задачу были буфер обмена, разделяемые файлы и технология динамического обмена данными (Dynamic Data Exchange, DDE).

После чего была разработана технология связывания и внедрения объектов (Object Linking and Embedding, OLE). Первоначальная версия OLE 1 предназначалась для создания составных документов. Эта версия была признана несовершенной и на смену ей пришла версия OLE 2. Новая версия позволяла решить вопросы предоставления друг другу различными программами собственных функций. Данная технология активно внедрялась до 1996 года, после чего ей на смену пришла технология ActiveX, которая включает в себя автоматизацию (OLE-автоматизацию), контейнеры, управляющие элементы, Web-технологию и т. д.

Терминология СОМ

Всякая новая технология приносит с собой новые термины для ее описания.

СОМ-объект

СОМ-объект представляет собой двоичный код, который выполняет какую-либо функцию и имеет один или более интерфейс.

СОМ-объект содержит методы, которые позволяют приложению пользоваться СОМ-объектом. Эти методы доступны благодаря СОМ-интерфейсам. Клиенту достаточно знать несколько базовых интерфейсов СОМ-объекта, чтобы получить полную информацию о составе свойств и методов объекта. СОМ-объект может содержать один или несколько интерфейсов. Для программиста СОМ-объект работает так же, как и класс в Object Pascal.

СОМ-интерфейсы

СОМ-интерфейс применяется для объединения методов СОМ-объекта. Интерфейс позволяет клиенту правильно обратиться к СОМ-объекту, а объекту - правильно ответить клиенту. Названия СОМ-интерфейсов начинаются с буквы I. Клиент может не знать, какие интерфейсы имеются у СОМ-объекта. Для того чтобы получить их список, клиент использует базовый интерфейс lunknown, который есть у каждого СОМ-объекта.

Пользователь СОМ-объекта

Пользователем СОМ-объекта называется приложение или часть приложения, которое использует СОМ-объект и его интерфейсы в своих собственных целях. Как правило, СОМ-объект находится в другом приложении.

СОМ-классы

СОМ со-классы (coclass) - это классы, которые содержат один или более СОМ-интерфейс. Вы можете не обращаться к СОМ-интерфейсу непосредственно, а получать доступ к СОМ-интерфейсу через со-класс. Со-классы идентифицируются при помощи идентификаторов класса (CLSID).

Библиотеки типов

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

Файлы библиотеки типов имеют расширение TLB.

Технология DCOM

Технология DCOM (Distributed COM) - это распределенная СОМ-технология. Она применяется для предоставления средств доступа к СОМ-объектам, расположенным на других компьютерах в сети (в том числе и сети Internet).

Операционные системы Windows NT 4 и Windows 98 имеют встроенную поддержку DCOM.

Счетчики ссылок

Каждый СОМ-объект имеет счетчик ссылок. Данный счетчик содержит число процессов, которые в текущий момент времени используют СОМ-объект. Под процессом здесь подразумевается любое приложение или DLL, которые используют СОМ-объект, т. е. пользователи СОМ-объекта. Счетчик ссылок на СОМ-объект нужен для того, чтобы высвобождать процессорное время и оперативную память, занимаемую СОМ-объектом, в том случае, когда он не используется.

После создания и обращения к СОМ-объекту счетчик ссылок увеличивается на единицу. Всякий раз, когда новое приложение подключается к СОМ-объекту - счетчик увеличивается. Когда процесс отключается от СОМ-объекта - счетчик уменьшается. При достижении счетчиком нуля память, занимаемая СОМ-объектом, высвобождается.

Состав СОМ-приложения .

При создании СОМ-приложения необходимо обеспечить следующее:

- СОМ-интерфейс;

- СОМ-сервер;

- СОМ-клиент.

Рассмотрим эти три составляющие СОМ-приложения более подробно.

СОМ-интерфейс

Клиенты СОМ связываются с объектами при помощи СОМ-интерфейсов. Интерфейсы -- это группы логически или семантически связанных процедур, которые обеспечивают связь между поставщиком услуги (сервером) и его клиентом

Примечание

По правилам обозначения СОМ-объектов, интерфейсы СОМ-объекта обозначаются кружками справа или слева от СОМ-объекта. Базовый интерфейс lUnknown рисуется кружком сверху от СОМ-объекта.

Для примера, каждый СОМ-объект всегда поддерживает основной СОМ-интерфейс lUnknown, который применяется для передачи клиенту сведений о поддерживаемых интерфейсах.

Как уже говорилось выше, СОМ-объект может иметь несколько интерфейсов, каждый из которых обеспечивает какую-либо свою функцию.

Ключевыми аспектами СОМ-интерфейсов являются следующие.

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

- По взаимному соглашению, все имена интерфейсов начинаются с буквы I, например IPersist, IMalloc.

- Каждый интерфейс гарантированно имеет свой уникальный идентификатор, который называется глобальный уникальный идентификатор (Globally Unique Identifier, GUID). Уникальные идентификаторы интерфейсов называют идентификаторами интерфейсов (Interface Identifiers, IIDs). Данные идентификаторы обеспечивают устранение конфликтов имен различных версий приложения или разных приложений.

- Интерфейсы не зависят от языка программирования. Вы можете воспользоваться любым языком программирования для реализации СОМ-интерфейса. Язык программирования должен поддерживать структуру указателей, а также иметь возможность вызова функции при помощи указателя явно или неявно.

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

- Все интерфейсы всегда являются потомками базового интерфейса Iunknown.

Основной СОМ-интерфейс IUnknown

Базовый интерфейс lunknown достаточно подробно был рассмотрен во второй главе книги. В дополнение ко всему вышесказанному, добавим, что интерфейс lunknown обеспечивает механизм учета ссылок (счетчик ссылок на СОМ-объект). При передаче указателя на интерфейс выполняется метод интерфейса lunknown AddRef. По завершении работы с интерфейсом приложение-клиент вызывает метод Release, который уменьшает счетчик ссылок.

Указатели СОМ-интерфейса

Указатель интерфейса - это 32-битный указатель на экземпляр объекта, который является, в свою очередь, указателем на реализацию каждого метода интерфейса. Реализация методов доступна через массив указателей на эти методы, который называется vtable. Использование массива vtable похоже на механизм поддержки виртуальных функций в Object Pascal.

СОМ-серверы

СОМ-сервер представляет собой приложение или библиотеку, которая предоставляет услуги приложению-клиенту или библиотеке. СОМ-сервер содержит один или более СОМ-объектов, где СОМ-объекты выступают в качестве наборов свойств, методов и интерфейсов.

Клиенты не знают как СОМ-объект выполняет свои действия. СОМ-объект предоставляет свои услуги при помощи интерфейсов., В дополнение, приложению-клиенту не нужно знать, где находится СОМ-объект. Технология СОМ обеспечивает прозрачный доступ независимо от местонахождения СОМ-объекта.

Когда клиент запрашивает услугу от СОМ-объекта, он передает СОМ-объекту идентификатор класса (CLSID). CLSID - всего лишь GUID, который применяется при обращении к СОМ-объекту. После передачи CLSID, СОМ-сервер должен обеспечить так называемую фабрику класса (см. следующий раздел), которая создает экземпляры СОМ-объектов.

В общих чертах, СОМ-сервер должен выполнять следующее:

- регистрировать данные в системном реестре Windows для связывания модуля сервера с идентификатором класса (CLSID);

- предоставлять фабрику СОМ-класса, создающую экземпляры СОМ-объектов;

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

Примечание

Для создания СОМ-объектов и СОМ-серверов Delphi предоставляет мастера, который значительно упрощает процедуру. Об этом читайте следующую главу.

Фабрика класса

СОМ-объекты представляют собой экземпляры coclass. Напомним, что Coclass - это класс, поддерживающий один или более интерфейс. СОМ-объекты могут предоставлять только те услуги, которые определены в интерфейсах coclass. Экземпляры Cociass создаются при помощи специального типа объекта, называемого фабрикой класса.

Фабрика класса - это специальный СОМ-объект, который поддерживает интерфейс IclassFactory и отвечает за создание экземпляров того класса, с которым ассоциирована данная фабрика класса.

Интерфейс IclassFactory определен в модуле Delphi ActiveX так:

type

IClassFactory = interface (IUnknown)

['{00000001-0000-0000-COOO-000000000046}']

function Createlnstance (const unkOuter: lUnknown; const iid: TIID out obj): HResult; stdcall;

function LockServer (fLock: BOOL): HResult; stdcall; end;

Как видно из вышеприведенного куска кода, интерфейс имеет два метода:

Createlnstance и LockServer.

Метод Createlnstance создает экземпляр СОМ-объекта ассоциированной фабрики класса.

Метод LockServer применяется для хранения СОМ-сервера в памяти. Если параметр метода fLock имеет значение true, то счетчик ссылок сервера увеличивается, иначе - уменьшается. Когда счетчик достигает значения о, сервер выгружается из памяти.

Всякий раз, когда услуги СОМ-объекта запрашиваются клиентом, фабрика класса создает и регистрирует экземпляр объекта для конкретного пользователя. Если услуга того же СОМ-объекта запрашивает другой клиент, фабрика класса создает второй экземпляр объекта для обслуживания второго клиента. coclass должен иметь фабрику класса и идентификатор класса CLSID. Использование CLSID для cociass подразумевает, что они могут быть откорректированы всякий раз, когда в класс вводятся новые интерфейсы. Таким образом, в отличие от DLL, новые интерфейсы могут изменять или добавлять методы, не влияя на старые версии.

Мастер создания СОМ-объектов Delphi самостоятельно заботится о создании фабрики класса.

Локальные и удаленные серверы

С использованием СОМ клиент не должен беспокоиться о том, где располагается объект, он просто делает вызов интерфейса данного объекта. Технология СОМ обеспечивает все необходимые шаги для того, чтобы сделать этот вызов. Шаги могут отличаться, в зависимости от местонахождения объекта. Объект может находиться в том же процессе, где и клиент, в другом процессе на том же компьютере, где расположен клиент, или на другом компьютере в сети. В зависимости от этого применяются разные типы серверов:

- внутренний сервер (In-process server);

- локальный сервер или сервер вне процесса (Local server, Out-of-process server);

- удаленный сервер (Remote server).

Внутренний сервер - это библиотека DLL, которая запущена в одном процессе вместе с клиентом. Например, элемент управления ActiveX, который внедрен на Web-страницу и просматривается при помощи Internet Explorer или Netscape Navigator. В данном случае элемент управления ActiveX загружен на клиентскую машину и находится в том же процессе, что и обозреватель Web. Приложение-клиент связывается с сервером внутри процесса при помощи прямых вызовов СОМ-интерфейса.

Внутренний СОМ-сервер должен экспортировать четыре функции:

function DllRegisterServer: HResult; stdcall;

function DllUnregisterServer: HResult; stdcall;

function DllGetClassObject (const CLSID, IID: TGUID; var Obj): HResult;

stdcall;

function DllCanUnloadNow: HResult; stdcall;

Все вышеперечисленные функции уже реализованы в модуле comserv, их нужно только добавить в описания exports вашего проекта.

СОМ-объекта.

образом, - это процесс информации, а - процесс информации.

Тип зависит от принадлежности СОМ. могут стандартный маршалинга, интерфейсом . Стандартный позволяет связь при стандартного удаленного процедуры ( Procedure , RFC).

СОМ-сервер в системном Windows так же, как и СОМ-сервер.

сервер - это DLL или иное , запущенное на компьютере. То клиент и работают на компьютерах в . Например, базы , написанное с Delphi, с сервером на компьютере в . Удаленный использует СОМ-интерфейсы ( COM, DCOM) для с клиентом.

сервер также с прокси. в работе локальным и сервером в типе межпроцессной . В случае сервера - это СОМ, а в удаленного - DCOM.

C

Очень при разработке является приложений, СОМ-клиентами, могут интерфейсы , чтобы те услуги, может СОМ-объект.

СОМ-клиентом диспетчер (Automation ). Диспетчер - это часть , которая какой тип необходим ему объектов , и она запрашивает информацию по надобности.

СОМ

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

ActiveX - это , которая компоненты СОМ, элементы . Она была для того, работа с управления более . Это особенно при работе с Internet/Intranet, в элементы должны загружены на клиента, чем они будут .

Технология - не единственное СОМ. В табл. 3.2 некоторые из в настоящее расширений СОМ.

в табл. 3.2 СОМ - это далеко не все из . Постоянно доработка и создание , более технологий взаимодействия.гия СОМ базовой по к OLE и ActiveX. СОМ-объектов как преимущества, так и ограничения. могут как визуальными, так и . Какие-то должны запущены в процессе с , другие - в процессах на разных .

1.3 Технология OMG

Технология , разрабатываемая с года OMG (Object Group), результатом ведущих из более чем 800 и организаций. процесс , включая взаимодействия CORBA от поставщиков (), независимость от программирования и сред, поддержка ООП и другие характеристики, CORBA стандартом в инфраструктурного .

Основой CORBA :

IDL (Interface Language) - , позволяющий все аспекты взаимодействия; отображения на конкретные программирования;

ORB ( Request ) - объектная , позволяющая запросы от к серверам и ;

Сервисы( Object ) CORBA;

система, CORBA, не на применение операционных , двоичных , сетевых и языков . Фактически, это технология, обеспечивает использования любых программирования и программного практически на аппаратно-программных

Архитектура

При использовании CORBA вся представляет набор в сети , предоставляющих другу ресурсы или выполнение задач. При отдельными приложениями являться доступа к данных, сервисы (типа хранения объектов или безопасности), работы с , функциональные (работы с помещений, отчетов, с БД пользователей и др.), а пользовательские , обеспечивающие состояния системы и управления ими.

технология четкое модулей на клиентские ( приложения) и (драйверы ). Технология удаленную модулей.

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

Язык

Технология позволяет разработку на любом программирования (++, Java, и др.) и под любую платформу ( Windows – , Linux, Sun Solaris – ). Однако языка Java получить преимущество программного не только без его , но даже и без его .

Очень моментом возможность других (например, ++) для некоторых системы. , это может для разработки работы с потоковым или для реализации оборудования, которого только в COM-интерфейса.

к БД

В случае языка для разработки ПК доступна технология с различными баз данных (Java Connectivity). частями JDBC JDBC API ( классов и , к которым прикладной ) и JDBC-драйверы, транслируют эти в команды API СУБД. данную можно систему, от используемого БД и, соответственно, возможность сервера для каждого в соответствии с объекта.

данных

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

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

Обмен .

Используя для системы CORBA для стандартных задач воспользоваться сервисами . Сервисы решают поиска, отношений объектами, их состояний, транзакциями и , синхронного и уведомления о тех или событиях и другое. из самых сервисов Сервис (Event ) или идущий ему на и являющийся его и обобщением Уведомлений ( Service). Эти позволяют образом объекты системы о событиях. безопасности.

При системы на базе технологий особое уделить самого . Для решения задачи специальный Безопасности ( Service). Это сложный , спецификация его почти из 300 . Самое , что при всей его и многочисленности им проблем, он не "виден" для программиста - все выполняются , в том числе и контекста .

Операции, для конкретного типа.

, специфичные для видов объектов.

2. ПРАКТИЧЕСКАЯ

2.1 Краткое задачи

В предприятия ООО «» производится налоговых , предоставляемых , и формирование ведомостей.

налоговый предоставляется сотруднику в 400 руб. до тех пор, пока доход с года не 50000 руб., вычет на предоставляется в 600 руб. НДФЛ – на доходы лиц (13%) с начасленной за минусом налогового .

  1. построить по приведённым .
  2. выполнить размера вычета
  3. и заполнить расчётной
  4. результаты заработной за текущий представить в виде.

2.2 выполнения

  1. Откроим процессор .
  2. Создадим книгу, «Налоги».
  3. первый в «Данные».
  4. второй в «».
  5. Лист в «Расчетная ».

Описание: C:\Users\Виктория\Desktop\2011-11-16_235737.png

Рисунок 1. имени

  1. На листе «» сформируем «Данные для налоговых ».

Описание: C:\Users\Виктория\Desktop\2011-11-16_235750.png

Рисунок 2. для расчёта вычетов

  1. На «Размер» таблицу « налоговых , предоставляемых в текущем ».

Описание: C:\Users\Виктория\Desktop\2011-11-16_235803.png

Рисунок 3. налоговых

  1. На листе « ведомость» таблицу « ведомость» .

Описание: C:\Users\Виктория\Desktop\2011-11-16_235817.png

4. Расчётная

  1. Заполним «Размер вычетов, сотрудникам в месяце». Для в ячейку D4 формулу =4. И размножим её для ячеек с D5-D8

Описание: C:\Users\Виктория\Desktop\2011-11-16_235832.png

5. Заполненная ведомость

10. таблицу « ведомость»

11. графы « за месяц, .» , «Размер вычета, .».

12.Заполним «НДФЛ .», «К выплате, .» Для этого в С17 введём ставку, в F7 формулу =($17 и размножим её, в G7 формулу =7 и размножим её.

Описание: C:\Users\Виктория\Desktop\2011-11-16_235847.png

6. Заполненная ведомость.

13. таблицу « ведомость» в виде. Для выделим нас ячейки.

Описание: C:\Users\Виктория\Desktop\2011-11-16_235907.png

7. Выделение для графика

14. интересующий нас .

Описание: C:\Users\Виктория\Desktop\2011-11-16_235922.png

Рисунок 8. графика

15. расположение на листе.

Описание: C:\Users\Виктория\Desktop\2011-11-16_235937.png

9. Расположение на листе

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

СОМ имеет два плюса:

- СОМ-объектов не от языка . Таким , СОМ-объекты быть на различных ;

- СОМ-объекты быть в любой программирования под . В число сред Delphi, C++, C++Builder, Basic, и другие.

      организации

Литература

  1. К.В. , В.В.Леонтьев, объектные в информационных // СУБД .
  2. ЭккерсонВ.В лучше й клиент-сервер // . 2014.
  3. М. Симфония . “Открытые ” № 3 2015 г.
  4. В. Многоуровневые клиент-сервер. “ ” 2014 г.
  5. Дж. Оберг COM+. = Understanding and COM+: A Guide to 2000 First . - М.:«Вильямс», . - С. 480. - ISBN
  6. Соммервилл И. программного .
  7. Драница А. против .NET. - "", #516.
  8. А.А. Визуализация полей с текстурной // Изв. вузов. . регион. . науки. . №4. С. 5-9.
  9. Jobard B., W. The Motion Map: computation of flow // IEEE '97. Phoenix, , USA. 2014. P.
  10. М. Эллис, Б. . Справочное по языку C++ с : Пер. с англ. - : Мир, 2015.445.
  11. Г. Шилдт. C++: Пер. с англ. - : BHV-Санкт-Петербург, .620с.
  12. Х. , П. Дейтел. Как на C++: Пер. с англ. - : ЗАО "Издательство ", 2013.1024.
  13. Бадд, Т. программирование в / Т. Бадд. - СПб.: , 2015. - 464 с.
  14. Р. Природа и сценарных // МИР ПК - ДИСК. - . - № 10.
  15. Буч, Г. Объектно-ориентированный и проектирование с приложений на C++ / Г. Буч; пер. с . И. Романовский, Ф. . - М.: Бином, . - 560 с.
  16. Головач В. пользовательского . - 2016.
  17. Дал, У.И. -67: Универсальный программирования / У.И. Дал, Б. , К. Нюгорд; пер. с . К.С. Кузьмина, Е.И. . - М.: Мир, 2014. - 100 с.
  18. А.Е. Методологические развития программирования: по ВАК 09.00.08. - М., . - Режим : dissertCat.com.
  19. , М. Изучаем / М. Лутц; пер. с . А. Киселев. - 4-е изд. - СПб.: , 2015. - с.
  20. Неклюдова С.А., А.Р. Парадигмы как инструменты программных // Информационные и системы: сборник трудов. 1 (12). - СПб., .
  21. Себеста, Р.У. концепции программирования / Р.У. . - 5-е изд. - М.: Издательский дом «», 2014. - 672 с.
  22. , Б. Дизайн и С++ / Б. Страуструп. - СПб.: ДМК , 2013. - 445 с.
  23. Г.С. Новая . - Киев: , 2012. - доступа:
  24. Фридман, А.Л. объектно-ориентированной программных / А.Л. Фридман. - М.: и статистика, . - 97с.
  25. Эккель Б. С++. Введение в С++. - 2-е изд. - СПб. : Питер, - 572 с.
  26. Berdonosov, V. of knowledge and // ScienceDirect, an Journal. - . - Vol.09. - P.