Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

С#

.pdf
Скачиваний:
32
Добавлен:
15.03.2016
Размер:
554.72 Кб
Скачать

31

Лабораторная работа 6: Проектирование и реализация гетерогенных приложений

Цель работы:

Познакомиться с проектированием и реализацией гетерогенных приложений в рамках платформы .NET (проекты на SML и C#, синтезирующие различные подходы к программированию).

Необходимые теоретические сведения

Гетерогенные приложения

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

В качестве основной структурной единицы компонентного программирования выступает решение (solution), которое может состоять из сборок. Сборка представляет из себя управляемую динамическую библиотеку .net dll или приложение. В каждом решении должна быть хотя бы одна сборка.

Сборки связываются ссылками друг с другом. Ссылка (reference) – это пространство имен из одной сборки, доступное в другой. После добавления дополнительного проекта к решению и ссылки к основному проекту в коде основного проекта можно пользоваться пространствами имен дополнительного.

Взаимодействие с SML.NET на компонентном уровне

Код SML.NET может создавать пространство имен, видимое в рамках других приложений. Для этого в файле script.smlnet прописывается директива export. Она экспортирует блок SML (объект, структуру) как пространство имен .NET, которое может в свою очередь быть использовано в любой сборке решения при добавлении соответствующей ссылки.

Синтаксис:

export имя1[, имя2 …]

При создании нового проекта SML.NET платформа автоматически прописывает имя основной структуры проекта SML в создаваемый файл. В случае добавления дополнительных файлов или создания дополнительных экспортируемых структур экспортом надо управлять вручную.

В свою очередь для создания ссылки на другие проекты .NET в решении для SML.NET необходимо добавить строку вида:

32

Синтаксис:

Reference файл_с_кодом_компонента_1 […]

Контрольные вопросы

1)

2)Что понимается под термином «компонент»?

3)На каком подходе к программированию основана технология .NET?

4)В чем состоит значение компонентного подхода?

5)Могут ли компоненты в составе проекта для .NET быть разработаны на различных языках программирования?

6)Что понимается под термином «решение»?

7)Из каких элементов состоят решения?

8)Что понимается под термином «сборка»?

9)Каковы ограничения на количество сборок в составе решения?

10)Что понимается под термином «ссылка»?

11)В чем состоит назначение механизма ссылок?

12)Каким образом ссылки связывают основной проект с дополнительным?

13)Возможно ли создание пространства имен, доступных из других приложений?

14)В чем состоит назначение директивы экспорта?

15)В каком файле при работе с SML.NET хранится директива экспорта?

16)В каких сборках решения возможно использовать экспортированные данные,?

17)Какие данные SML могут быть экспортированы?

18)Какая директива реализует компонентный экспорт данных?

19)Приведите синтаксис директивы компонентного экспорта данных (export) в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

20)В каких случаях SML.NET осуществляет автоматическое управление метаданными проекта?

21)В каком случае возникает необходимость ручного управления экспортом?

22)Приведите синтаксис директивы ссылки на сторонние компоненты (reference) в общем виде. Проиллюстрируйте его фрагментом программы на языке C#.

Варианты заданий

Оснастить графическим интерфейсом на языке C# следующие функции на языке SML.

33

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

1.a(bc)

2.ac(bc)

3.(ac)(bc)

4.(ab)(c(de))

5.a(b(cd)(ef))

6.a(b(cd)(ef)g)

7.a(b((cd)(ef))

8.(a(bc(de)f)gh)

9.abb(cdd(e)fg)

10.(ab(c(de))f(g(hi))j)

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

11.a(bc)

12.ac(bc)

13.(ac)(bc)

14.(ab)(c(de))

15.a(b(cd)(ef))

16.a(b(cd)(ef)g)

17.a(b((cd)(ef))

18.(a(bc(de)f)gh)

28.abb(cdd(e)fg)

20.(ab(c(de))f(g(hi))j)

Порядок выполнения работы:

1)Реализовать программу на C# в соответствии с вариантом исполнения.

2)Подготовить отчет в твердой копии и в электронном виде.

34

Список литературы и учебных материалов

Основная литература

1.Visual C#. NET Step by Step, Microsoft Press, 2003.

2.Вилле К. Представляем Си Шарп. ДМК Пресс, 2001. ISBN 5-94074-039-1

3.Зыков С.В. Лабораторный практикум по курсу «Языки программирования». Ч.1. Основы объектного программирования на С++.

М.: МИФИ – 2001, 55 с. ISBN 5-7262-0454-9

4.Зыков С.В. Лабораторный практикум по курсу «Языки программирования». Ч.2. Основы разработки приложений на С++ для

Win32 API. М.: МИФИ – 2001, 45 с. ISBN 5-7262-0454-9

5.Зыков С.В. Современные языки программирования. Ч.I. Функциональный подход к программированию. М.:МИФИ – 2003, 230 с.

6.Петцольд Ч. Программирование для Microsoft Windows на C#. «Русская редакция», 2002. ISBN 5-7502-0210-0

7.Платт Д.С. Знакомство с Microsoft .NET. «Русская редакция», 2001. ISBN 5-7502-0186-4

8.Рихтер Дж. Программирование на платформе Microsoft .NET Framework. «Русская редакция», 2002.

9.Робинсон У. C# без лишних слов. ДМК Пресс, 2002. ISBN 5-94074-177-0

10.Шилдт Г. С#, учебный курс. Питер, 2003.

11.Gilmore S. Programming in Standard ML ’97: A Tutorial Introduction. The University of Edinburgh, 2897.

12.Troelsen A. C# and the .NET platform (2nd ed.).- APress, 2003, 1200 p.p.

Дополнительная литература

13.The Standard ML Basis Library, http://www.standardml.org/Basis /manpages.html

14.Harper R. Programming in Standard ML. Carnegie Mellon University, 2001. 15.Керниган Б., Пайк Р. Практика программирования.–СПб.: Невский

диалект, 2001.–381 с.

16.Браунси К. Основные концепции структур данных и реализация в С++.– М.: Издательский дом «Вильямс», 2002.– 320 с.

17.Вольфенгаген В.Э. Конструкции языков программирования. Приемы описания. М.: АО «ЮрИнфоР», 2001, 276 с.

35

Приложение 1. Особенности инсталляции интегрированной среды разработки Visual Studio .NET

Требования к аппаратному обеспечению: a. Процессор

Минимум:

Pentium II 450 MHz и выше Рекомендовано:

Pentium III 600MHz и выше

b. Оперативная память

Минимум:

Windows 2000 Professional — 96 MB Windows 2000 Server — 282 MB Windows NT4.0 Workstation — 64 MB Windows NT 4.0 Server — 160 MB Windows XP Professional — 160 MB

Рекомендовано:

Windows 2000 Professional — 128 MB Windows 2000 Server — 256 MB Windows NT4.0 Workstation — 96 MB Windows NT 4.0 Server — 282 MB Windows XP Professional — 282 MB

c.Свободное место на жестком диске: На системном разделе — 500 MB

На раздел, куда будет выполнена установка — 3 GB

d.Дисковод CD-ROM или DVD-ROM

e.Разрешение экрана

Минимум:

800 x 600, 256 цветов Рекомендовано: 1024x768, 16 битный цвет

f. Манипулятор мышь или аналогичный ему

36

Требования к программному обеспечению:

1.Операционная система Windows® 2000, Windows XP, или Windows NT 4.03

2.Права пользователя:

Для установки Visual Studio .NET необходимо иметь административные привилегии на компьютер, на который производится установка. Для последующей работы с Visual Studio административные привилегии не требуются.

Дополнительные сведения о процессе установки можно найти в файлах readme, находящихся в корне первого (а в случае с DVD версией - единственного) диска установочного комплекта Visual Studio .NET.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]