SlideShare a Scribd company logo
1 of 10
Модели, принципы и структура
компонентных приложений
2
Понятие компонента (1)
Компонент – выделенная структурная единица с четко определенным
интерфейсом. Абсолютно все его зависимости от окружения должны
быть описаны в рамках этого интерфейса. Один компонент может
также иметь несколько интерфейсов, играя несколько разных ролей в
системе. Эти ограничения являются так называемым интерфейсным
контрактом или программным контрактом компонента.
Интерфейсный контракт для каждой операции самого компонента
(или используемой им) определяет предусловие и постусловие ее
вызова. Предусловие операции должно быть выполнено при ее вызове,
иначе корректность результатов не гарантируется. С постусловием все
наоборот – постусловие вызванной у компонента операции должно
быть выполнено после ее вызова, и это – обязанность компонента.
Постусловие операции определяет, какие ее результаты считаются
корректными.
Корпоративные системы
Компонентные и офисные приложения
3
Понятие компонента (2)
Компонент— единица развертывания. Он может быть присоединен к
остальной системе, когда она уже некоторое время работает, и должен
после этого выполнять все свои функции, если в исходной системе
уже были все компоненты, от которых он зависит.
Набор правил определения интерфейсов компонентов и их реализаций, а
также правил, по которым компоненты работают в системе и
взаимодействуют друг с другом, принято объединять под именем
компонентной модели (component model). В компонентную модель
входят правила, регламентирующие жизненный цикл компонента, т.е.
то, через какие состояния он проходит при своем существовании в
рамках некоторой системы (незагружен, загружен и пассивен,
активен, находится в кэше и пр.) и как выполняются переходы между
этими состояниями.
Компонент - более узкое понятие, чем программный модуль.
Возможность включения и исключения компонента из системы делает
его отдельным элементом коммерческого ПО.
Корпоративные системы
Компонентные и офисные приложения
4
Существующие компонентные модели:
• COM (Component object Model) – технологический
стандарт компании Microsoft
• JavaBeans – технологический стандарт компании Sun
Microsystems для компонентов (не является независимым
от языка программирования)
• CORBA (брокеры объектных запросов) – громоздкий IDL-
интерфейс; сложность отображения одного языка
реализации в другой
Корпоративные системы
Компонентные и офисные приложения
5
Основные элементы компонентных
приложений
Корпоративные системы
Компонентные и офисные приложения
6
Отличия компонентов от классов ЯООП
• Класс определяет не только набор реализуемых интерфейсов, но и
саму их реализацию, поскольку он содержит код определяемых
операций. Контракт компонента, чаще всего, не фиксирует
реализацию его интерфейсов.
• Класс написан на определенном языке программирования. Компонент
же не привязан к определенному языку, если, конечно, его
компонентная модель этого не требует, — компонентная модель
является для компонентов тем же, чем для классов является язык
программирования.
• Обычно компонент является более крупной структурной единицей,
чем класс. Реализация компонента часто состоит из нескольких тесно
связанных друг с другом классов.
Корпоративные системы
Компонентные и офисные приложения
7
Среда Microsoft .NET. Основные понятия
Платформа – в контексте информационных технологий – среда,
обеспечивающая выполнение программного кода. Платформа
определяется характеристиками процессоров, особенностями
операционных систем.
Framework – это инфраструктура среды выполнения программ, нечто,
определяющее особенности разработки и выполнения программного
кода на данной платформе.
Microsoft .NET – платформа
.NET Framework - инфраструктура платформы Microsoft .NET. Включает
следующие основные компоненты: Common Language Runtime (CLR)
и .NET Framework Class Library (.NET FCL).
Common Language Specification (CLS ) – обобщенная спецификация
языков программирования.
.NET-приложение – приложение, разработанное для выполнения на
платформе Microsoft .NET. Реализуется на языках программирования,
соответствующих CLS.
Корпоративные системы
Компонентные и офисные приложения
8
Функции CLR
• Управление кодом (загрузка и выполнение).
• Управление памятью при размещении объектов.
• Изоляция памяти приложений.
• Проверка безопасности кода.
• Преобразование промежуточного языка в машинный код.
• Доступ к метаданным (расширенная информация о типах).
• Обработка исключений, включая межъязыковые
исключения.
• Взаимодействие между управляемым и неуправляемым
кодами (в том числе и СОМ-объектами).
• Поддержка сервисов для разработки (профилирование,
отладка и т.д.).
Корпоративные системы
Компонентные и офисные приложения
9
Библиотека классов FCL
FCL (.NET Framework Class Library) - соответствующая CLS-
спецификации объектно-ориентированная библиотека классов,
интерфейсов и системы типов
FCL могут использовать ВСЕ .NET-приложения, независимо от
назначения архитектуры используемого при разработке языка
программирования, и в частности:
• встроенные (элементарные) типы, представленные в виде классов (на
платформе .NET все построено на структурах или классах);
• классы для разработки графического пользовательского интерфейса
(Windows Form);
• классы для разработки web-приложений и web-служб на основе
технологии ASP.NET (Web Forms) - http://asp.net/;
• классы для разработки XML и Internet-протоколов (FTP, HTTP,
SMTP, SOAP);
• классы для разработки приложений, работающих с базами данных
(ADO .NET) и многое другое.
Корпоративные системы
Компонентные и офисные приложения
10
Сборки на платформе .NET
• Сборка (assembly) - базовый строительный блок приложения в .NET
Framework. Управляемые модули объединяются в сборки. Сборка
является логической группировкой одного или нескольких
управляемых модулей или файлов ресурсов. Управляемые модули в
составе сборок исполняются в Среде Времени Выполнения (CLR).
Сборка может быть либо исполняемым приложением (при этом она
размещается в файле с расширением .ехе), либо библиотечным
модулем (в файле с расширением .dll).
• Сборка является аналогом компонента в среде программирования
.NET. Для CLR все сборки одинаковы, независимо оттого, на каких
языках программирования они были написаны. Главное - это чтобы
они соответствовали CLS.
Корпоративные системы
Компонентные и офисные приложения

More Related Content

What's hot

SOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаSOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаPavel Treshnikov
 
Lektsia 5
Lektsia 5Lektsia 5
Lektsia 5bomfan
 
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекцийstudent_kai
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation processDima Dzuba
 
Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Anton Vidishchev
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кодаSergii Shmarkatiuk
 

What's hot (19)

SOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайнаSOLID – принципы объектно-ориентированного дизайна
SOLID – принципы объектно-ориентированного дизайна
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Lektsia 5
Lektsia 5Lektsia 5
Lektsia 5
 
Step 5
Step 5Step 5
Step 5
 
МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)
 
презентация конспекта лекций
презентация конспекта лекцийпрезентация конспекта лекций
презентация конспекта лекций
 
МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (тестирование и отладка)
 
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (разработка программного модуля)
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
 
Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010
 
лр4 uml
лр4 umlлр4 uml
лр4 uml
 
5 Тема
5 Тема5 Тема
5 Тема
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)МиСПИСиТ (введение)
МиСПИСиТ (введение)
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (общие принципы разработки)
 
Автопарк требований
Автопарк требованийАвтопарк требований
Автопарк требований
 
МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)МиСПИСиТ (IDEF)
МиСПИСиТ (IDEF)
 

Viewers also liked

14 chuyen de hoa 10 11 12
14 chuyen de hoa 10 11 1214 chuyen de hoa 10 11 12
14 chuyen de hoa 10 11 12Perte1
 

Viewers also liked (20)

Integration of CAD/CAM technology in Global Dental Prosthetic treatment: A Ca...
Integration of CAD/CAM technology in Global Dental Prosthetic treatment: A Ca...Integration of CAD/CAM technology in Global Dental Prosthetic treatment: A Ca...
Integration of CAD/CAM technology in Global Dental Prosthetic treatment: A Ca...
 
Perforated Jejunal Gastrointestinal Stromal Tumor(GIST) Presenting as Acute A...
Perforated Jejunal Gastrointestinal Stromal Tumor(GIST) Presenting as Acute A...Perforated Jejunal Gastrointestinal Stromal Tumor(GIST) Presenting as Acute A...
Perforated Jejunal Gastrointestinal Stromal Tumor(GIST) Presenting as Acute A...
 
Imjh may-2015-1
Imjh may-2015-1Imjh may-2015-1
Imjh may-2015-1
 
Surgical Site Infection After Total Knee Arthroplasty : A Descriptive Study
Surgical Site Infection After Total Knee Arthroplasty : A Descriptive StudySurgical Site Infection After Total Knee Arthroplasty : A Descriptive Study
Surgical Site Infection After Total Knee Arthroplasty : A Descriptive Study
 
Age and Sex Profile of Tuberculosis cases and its association with treatment ...
Age and Sex Profile of Tuberculosis cases and its association with treatment ...Age and Sex Profile of Tuberculosis cases and its association with treatment ...
Age and Sex Profile of Tuberculosis cases and its association with treatment ...
 
Imjh jun-2015-6
Imjh jun-2015-6Imjh jun-2015-6
Imjh jun-2015-6
 
Effect of Sports on Blood Pressure and Heart Rate Variability: An Interventio...
Effect of Sports on Blood Pressure and Heart Rate Variability: An Interventio...Effect of Sports on Blood Pressure and Heart Rate Variability: An Interventio...
Effect of Sports on Blood Pressure and Heart Rate Variability: An Interventio...
 
Association between Bronchial asthma and Allergic Rhinitis: A Cross-sectional...
Association between Bronchial asthma and Allergic Rhinitis: A Cross-sectional...Association between Bronchial asthma and Allergic Rhinitis: A Cross-sectional...
Association between Bronchial asthma and Allergic Rhinitis: A Cross-sectional...
 
Problem Based Integrated Teaching of Bronchial Asthma to Second MBBS Students
Problem Based Integrated Teaching of Bronchial Asthma to Second MBBS StudentsProblem Based Integrated Teaching of Bronchial Asthma to Second MBBS Students
Problem Based Integrated Teaching of Bronchial Asthma to Second MBBS Students
 
Tear dysfunction syndrome: Microstructural findings in vivo
Tear dysfunction syndrome: Microstructural findings in vivoTear dysfunction syndrome: Microstructural findings in vivo
Tear dysfunction syndrome: Microstructural findings in vivo
 
Non-alcoholic Fatty Liver Disease (NAFLD) and its association with metabolic ...
Non-alcoholic Fatty Liver Disease (NAFLD) and its association with metabolic ...Non-alcoholic Fatty Liver Disease (NAFLD) and its association with metabolic ...
Non-alcoholic Fatty Liver Disease (NAFLD) and its association with metabolic ...
 
Therapeutic Priority for Developing Communication in Children with Special Ed...
Therapeutic Priority for Developing Communication in Children with Special Ed...Therapeutic Priority for Developing Communication in Children with Special Ed...
Therapeutic Priority for Developing Communication in Children with Special Ed...
 
Relation between Changing Lifestyle and Adolescent Obesity in India: A Commun...
Relation between Changing Lifestyle and Adolescent Obesity in India: A Commun...Relation between Changing Lifestyle and Adolescent Obesity in India: A Commun...
Relation between Changing Lifestyle and Adolescent Obesity in India: A Commun...
 
Factors associated with Dementia with special reference to Serum Homocysteine...
Factors associated with Dementia with special reference to Serum Homocysteine...Factors associated with Dementia with special reference to Serum Homocysteine...
Factors associated with Dementia with special reference to Serum Homocysteine...
 
14 chuyen de hoa 10 11 12
14 chuyen de hoa 10 11 1214 chuyen de hoa 10 11 12
14 chuyen de hoa 10 11 12
 
Pregnancy Outcomes of Oligohydramnios at Term diagnosed by Ultra Sonography (...
Pregnancy Outcomes of Oligohydramnios at Term diagnosed by Ultra Sonography (...Pregnancy Outcomes of Oligohydramnios at Term diagnosed by Ultra Sonography (...
Pregnancy Outcomes of Oligohydramnios at Term diagnosed by Ultra Sonography (...
 
Role of Spiritual Health in Patient Care: A Review
Role of Spiritual Health in Patient Care: A Review Role of Spiritual Health in Patient Care: A Review
Role of Spiritual Health in Patient Care: A Review
 
Relation between Back Extensor Strength, Bone Mineral Density, Kyphosis and L...
Relation between Back Extensor Strength, Bone Mineral Density, Kyphosis and L...Relation between Back Extensor Strength, Bone Mineral Density, Kyphosis and L...
Relation between Back Extensor Strength, Bone Mineral Density, Kyphosis and L...
 
Association of Spiritual Health and Psycho wellness in First MBBS Students
Association of Spiritual Health and Psycho wellness in First MBBS StudentsAssociation of Spiritual Health and Psycho wellness in First MBBS Students
Association of Spiritual Health and Psycho wellness in First MBBS Students
 
A Case Series of 500 Melasma Cases: A descriptive study
A Case Series of 500 Melasma Cases: A descriptive study A Case Series of 500 Melasma Cases: A descriptive study
A Case Series of 500 Melasma Cases: A descriptive study
 

Similar to 9 структура компонентных приложений

10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoftKewpaN
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPmikhailshurgulaya
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12Technopark
 
Programming Concepts
Programming ConceptsProgramming Concepts
Programming ConceptsMister_Lee
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных системKewpaN
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)Alexander Gornik
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDA
 
C++ осень 2013 лекция 8
C++ осень 2013 лекция 8C++ осень 2013 лекция 8
C++ осень 2013 лекция 8Technopark
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...GetDev.NET
 

Similar to 9 структура компонентных приложений (20)

10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft10 компонентные и офисные приложения на платформе microsoft
10 компонентные и офисные приложения на платформе microsoft
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
Net framework
Net frameworkNet framework
Net framework
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Lecture 11 1
Lecture 11 1Lecture 11 1
Lecture 11 1
 
Programming Concepts
Programming ConceptsProgramming Concepts
Programming Concepts
 
4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем4 особенности платформы microsoft .net для разработки корпоративных систем
4 особенности платформы microsoft .net для разработки корпоративных систем
 
лек11 1
лек11 1лек11 1
лек11 1
 
2IDE~1.PPT
2IDE~1.PPT2IDE~1.PPT
2IDE~1.PPT
 
Genome
GenomeGenome
Genome
 
Lekcia3
Lekcia3Lekcia3
Lekcia3
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
 
C++ осень 2013 лекция 8
C++ осень 2013 лекция 8C++ осень 2013 лекция 8
C++ осень 2013 лекция 8
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
Step 1
Step 1Step 1
Step 1
 
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
Создание повторно используемых бизнес моделей с помощью технологии Domain Com...
 

More from KewpaN

14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субдKewpaN
 
13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субдKewpaN
 
12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложенийKewpaN
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможностиKewpaN
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundationKewpaN
 
7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисовKewpaN
 
6 создание распределенных приложений по технологии remoting
6 создание распределенных приложений по технологии remoting6 создание распределенных приложений по технологии remoting
6 создание распределенных приложений по технологии remotingKewpaN
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователяKewpaN
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложенийKewpaN
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бдKewpaN
 
1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер1 открытые системы. клиент и сервер
1 открытые системы. клиент и серверKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологииKewpaN
 

More from KewpaN (17)

14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд14 расширенные возможности корпоративных субд
14 расширенные возможности корпоративных субд
 
13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд13 расширенные возможности корпоративных приложений, основы субд
13 расширенные возможности корпоративных приложений, основы субд
 
12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений12 основные возможности корпоративных приложений
12 основные возможности корпоративных приложений
 
11 платформа microsoft office расширенные возможности
11 платформа microsoft office   расширенные возможности11 платформа microsoft office   расширенные возможности
11 платформа microsoft office расширенные возможности
 
8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation8 создание приложений по технологии windows communications foundation
8 создание приложений по технологии windows communications foundation
 
7 создание веб сервисов
7 создание веб сервисов7 создание веб сервисов
7 создание веб сервисов
 
6 создание распределенных приложений по технологии remoting
6 создание распределенных приложений по технологии remoting6 создание распределенных приложений по технологии remoting
6 создание распределенных приложений по технологии remoting
 
5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя5 создание графического интерфейса пользователя
5 создание графического интерфейса пользователя
 
3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений3 средства автоматизации проектирования корпоративных приложений
3 средства автоматизации проектирования корпоративных приложений
 
2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд2 виды и особенности клиент серверных систем с бд
2 виды и особенности клиент серверных систем с бд
 
1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер1 открытые системы. клиент и сервер
1 открытые системы. клиент и сервер
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 
0 wiki технологии
0 wiki технологии0 wiki технологии
0 wiki технологии
 

9 структура компонентных приложений

  • 1. Модели, принципы и структура компонентных приложений
  • 2. 2 Понятие компонента (1) Компонент – выделенная структурная единица с четко определенным интерфейсом. Абсолютно все его зависимости от окружения должны быть описаны в рамках этого интерфейса. Один компонент может также иметь несколько интерфейсов, играя несколько разных ролей в системе. Эти ограничения являются так называемым интерфейсным контрактом или программным контрактом компонента. Интерфейсный контракт для каждой операции самого компонента (или используемой им) определяет предусловие и постусловие ее вызова. Предусловие операции должно быть выполнено при ее вызове, иначе корректность результатов не гарантируется. С постусловием все наоборот – постусловие вызванной у компонента операции должно быть выполнено после ее вызова, и это – обязанность компонента. Постусловие операции определяет, какие ее результаты считаются корректными. Корпоративные системы Компонентные и офисные приложения
  • 3. 3 Понятие компонента (2) Компонент— единица развертывания. Он может быть присоединен к остальной системе, когда она уже некоторое время работает, и должен после этого выполнять все свои функции, если в исходной системе уже были все компоненты, от которых он зависит. Набор правил определения интерфейсов компонентов и их реализаций, а также правил, по которым компоненты работают в системе и взаимодействуют друг с другом, принято объединять под именем компонентной модели (component model). В компонентную модель входят правила, регламентирующие жизненный цикл компонента, т.е. то, через какие состояния он проходит при своем существовании в рамках некоторой системы (незагружен, загружен и пассивен, активен, находится в кэше и пр.) и как выполняются переходы между этими состояниями. Компонент - более узкое понятие, чем программный модуль. Возможность включения и исключения компонента из системы делает его отдельным элементом коммерческого ПО. Корпоративные системы Компонентные и офисные приложения
  • 4. 4 Существующие компонентные модели: • COM (Component object Model) – технологический стандарт компании Microsoft • JavaBeans – технологический стандарт компании Sun Microsystems для компонентов (не является независимым от языка программирования) • CORBA (брокеры объектных запросов) – громоздкий IDL- интерфейс; сложность отображения одного языка реализации в другой Корпоративные системы Компонентные и офисные приложения
  • 5. 5 Основные элементы компонентных приложений Корпоративные системы Компонентные и офисные приложения
  • 6. 6 Отличия компонентов от классов ЯООП • Класс определяет не только набор реализуемых интерфейсов, но и саму их реализацию, поскольку он содержит код определяемых операций. Контракт компонента, чаще всего, не фиксирует реализацию его интерфейсов. • Класс написан на определенном языке программирования. Компонент же не привязан к определенному языку, если, конечно, его компонентная модель этого не требует, — компонентная модель является для компонентов тем же, чем для классов является язык программирования. • Обычно компонент является более крупной структурной единицей, чем класс. Реализация компонента часто состоит из нескольких тесно связанных друг с другом классов. Корпоративные системы Компонентные и офисные приложения
  • 7. 7 Среда Microsoft .NET. Основные понятия Платформа – в контексте информационных технологий – среда, обеспечивающая выполнение программного кода. Платформа определяется характеристиками процессоров, особенностями операционных систем. Framework – это инфраструктура среды выполнения программ, нечто, определяющее особенности разработки и выполнения программного кода на данной платформе. Microsoft .NET – платформа .NET Framework - инфраструктура платформы Microsoft .NET. Включает следующие основные компоненты: Common Language Runtime (CLR) и .NET Framework Class Library (.NET FCL). Common Language Specification (CLS ) – обобщенная спецификация языков программирования. .NET-приложение – приложение, разработанное для выполнения на платформе Microsoft .NET. Реализуется на языках программирования, соответствующих CLS. Корпоративные системы Компонентные и офисные приложения
  • 8. 8 Функции CLR • Управление кодом (загрузка и выполнение). • Управление памятью при размещении объектов. • Изоляция памяти приложений. • Проверка безопасности кода. • Преобразование промежуточного языка в машинный код. • Доступ к метаданным (расширенная информация о типах). • Обработка исключений, включая межъязыковые исключения. • Взаимодействие между управляемым и неуправляемым кодами (в том числе и СОМ-объектами). • Поддержка сервисов для разработки (профилирование, отладка и т.д.). Корпоративные системы Компонентные и офисные приложения
  • 9. 9 Библиотека классов FCL FCL (.NET Framework Class Library) - соответствующая CLS- спецификации объектно-ориентированная библиотека классов, интерфейсов и системы типов FCL могут использовать ВСЕ .NET-приложения, независимо от назначения архитектуры используемого при разработке языка программирования, и в частности: • встроенные (элементарные) типы, представленные в виде классов (на платформе .NET все построено на структурах или классах); • классы для разработки графического пользовательского интерфейса (Windows Form); • классы для разработки web-приложений и web-служб на основе технологии ASP.NET (Web Forms) - http://asp.net/; • классы для разработки XML и Internet-протоколов (FTP, HTTP, SMTP, SOAP); • классы для разработки приложений, работающих с базами данных (ADO .NET) и многое другое. Корпоративные системы Компонентные и офисные приложения
  • 10. 10 Сборки на платформе .NET • Сборка (assembly) - базовый строительный блок приложения в .NET Framework. Управляемые модули объединяются в сборки. Сборка является логической группировкой одного или нескольких управляемых модулей или файлов ресурсов. Управляемые модули в составе сборок исполняются в Среде Времени Выполнения (CLR). Сборка может быть либо исполняемым приложением (при этом она размещается в файле с расширением .ехе), либо библиотечным модулем (в файле с расширением .dll). • Сборка является аналогом компонента в среде программирования .NET. Для CLR все сборки одинаковы, независимо оттого, на каких языках программирования они были написаны. Главное - это чтобы они соответствовали CLS. Корпоративные системы Компонентные и офисные приложения