
- •1. Понятие информационной системы (ис). Корпоративные ис. Структура ис.
- •2. Понятие информационной системы (ис). Корпоративные ис. Классификация ис.
- •3. История развития ис.
- •4. .Net Framework. Общеязыковая среда исполнения (clr). Управляемые модули и сборки.
- •5. .Net Framework. Общая система типов (cts) и Общеязыковая спецификация (cls).
- •6. .Net Framework. Механизм сборки мусора.
- •7. C#. Объявление класса.
- •8. Java. Объявление класса.
- •9. C#. Делегаты.
- •10. C#. События.
- •11. C#. Наследование: правила, синтаксис. Сокрытие имен.
- •12. Java. Наследование: правила, синтаксис. Сокрытие имен.
- •13. Правила наследования типов. Принцип «Open-Closed Principle».
- •14. Правила наследования типов. Принцип «Liskov Substitution Principle».
- •15. C#. Приведение типов. Операторы as и is.
- •16. C#. Виртуальные и невиртуальные методы. Статические методы.
- •17. C#. Абстрактные и конечные методы.
- •310 Часть I. Язык с#
- •18. Java. Абстрактные, виртуальные, конечные и статические методы.
- •19. C# и Java. Интерфейсы.
- •20.C#. Структуры.
- •21. C#. Перечисления.
- •22.C#. Упаковка и распаковка объектов значимых типов.
- •23.C# и Java. Исключения. Механизм исключений.
- •24.C# и Java. Исключения. Классы исключений.
- •25.C# и Java. Исключения. Основные принципы использования механизма
- •26.C#. Обобщения: понятие и синтаксис. Ограничения обобщений.
- •27. Java. Обобщения: понятие и синтаксис.
- •28.C#. Коллекции.
- •29.Java. Коллекции.
- •30.C#. Dispose Pattern.
- •31. .Net Framework 3.0, 3.5, 3.5 sp1: общая характеристика.
- •32. C# 3.0, linq: обзор.
- •Источники данных
- •SqlMetal
- •33. Понятие жизненного цикла ис (жц ис). Каскадная модель жц ис.
- •34. Понятие жизненного цикла ис (жц ис). Спиральная модель жц ис.
- •35. Анализ требований. Функциональные и нефункциональные требования.
- •36 Требования и прецеденты. Формат описания прецедента. Структура прецедента.
- •37 Требования и прецеденты. Взаимосвязь прецедентов.
- •38 Модель предметной области. Концептуальные классы. Ассоциации и атрибуты.
- •39 Язык uml. Способы использования. Model Driven Architecture. Executable uml. ДиаграммыUml.
- •40 Диаграмма прецедентов.
- •41. Диаграмма классов. Обозначение классов. Отношение ассоциации.
- •42.Диаграмма классов. Обозначение интерфейсов. Отношение обобщения и зависимости.
- •43.Диаграмма объектов.
- •44.Диаграмма пакетов.
- •45.Диаграмма состояний.
- •46.Диаграмма развертывания.
- •49.Диаграмма коммуникации.
- •50.Паттерн: понятие, структура, классификация.
- •1) Понятие паттерна
- •2) Структура и Классификация паттернов
- •51. Проектирование на основе обязанностей. Принципы grasp.
- •52.Grasp: принцип Low Coupling.
- •53.Grasp: принцип High Cohesion.
- •54.Grasp: принцип Information Expert.
- •55. Grasp: принцип Creator.
- •56.Grasp: принцип Pure Fabrication.
- •57. Grasp: принцип Indirection.
- •59.Grasp: принцип Protected Variations.
- •60.Grasp: принцип Controller.
4. .Net Framework. Общеязыковая среда исполнения (clr). Управляемые модули и сборки.
.NET Framework. состоит из:
- CLR(Common Language Runtime) – общеязыковая исполняющая среда.
- FCL (Framework Class Library) – библиотека классов Framework
Преимущества:
- единая упрощенная программная модель
- нет проблем с версиями (“ад DLL”)
- упрощенное развертывание
- работа на нескольких платформах
- интеграция языков программирования
- повторное использование кода
- автоматическая сборка мусора
- проверка безопасности типов
- взаимодействие с существующим кодом
CLR
- поддерживает приложения, разработанные на различных языках
- вместе с Framework распространяются (ассемблер IL, C#, Visual Basic .NET, J#, Jscript)
- Устанавливается в каталог: %WINDOWS%\Microsoft.NET\Framework\vверсия
Компиляция
Управляемый модуль (managed module) – стандартный исполняемый файл Windows, который требует для своего исполнения CLR
Метаданные (metadata) – «данные о данных» – набор таблиц данных, описывающих:
- какие типы определены в данном модуле
- на какие типы, определенные в других модулях, ссылается данный модуль
Использование метаданных:
- Устраняют необходимость в заголовочных файлах
- IntelliSense
- Верификация
- Сериализация/десериализация
- Сборка мусора
IL (Intermediate Language, промежуточный язык) – не зависящий от процессора псевдо-машинный язык
Особенности:
- создание и инициализация объектов
- вызов виртуальных методов
- манипулирование элементами массивов
- генерация и обработка исключений
- исполняется на любой платформе
Исполнение
JIT-компиляция (Just-in-Time, «точно в срок»): команды IL во время первого обращения к методу преобразуются в команды процессора (“native” код).
При этом осуществляется и верификация – проверка IL-кода на безопасность.
CLR работает не с модулями, а со сборками.
Сборка (assembly):
- логическая группировка одного или нескольких управляемых модулей или файлов ресурсов;
-
единица повторного использования,
безопасности и контроля версий.
Манифест, декларация (manifest) – метаданные, описывающие
- файлы, формирующие сборку
- общедоступные типы, реализованные в файлах сборки
- файлы ресурсов или данных, включенные в сборку
Framework Class Library
- FCL основана на объектно-ориентированной парадигме
- Содержит несколько тысяч типов
- Типы скомпонованы в пространства имен
5. .Net Framework. Общая система типов (cts) и Общеязыковая спецификация (cls).
Общая система типов (Common Type System, CTS) – формальная спецификация, описывающая определение типов и их поведение
- Типы (класс, структура, перечисление, интерфейс, делегат)
- Определяет элементы типов: поле, метод, свойство, событие
- Определяет правила видимости типов и доступа к их элементам public, protected, private, internal
Типы
- Ссылочные (reference types)
- Переменная содержит ссылку на объект
- При присваивании создается еще одна ссылка на тот же объект
-
Объекты размещаются в управляемой куче
- Типы-значения (value-types)
- Переменная содержит сам объект
- При присваивании создается копия объекта
- Объекты размещаются в стеке
- Элементарные (primitive types)
Видимость типа
- public (открытый)
- internal (внутренний) (тип доступен только из сборки, в которой он определен)
Члены типа
Константа – идентификатор, представляющий некую постоянную величину
Поле
Статическое Экземплярное
Конструктор экземпляров
Конструктор типа – метод, инициализирующий статические поля типа
Метод
Перегруженный оператор
Оператор преобразования — метод определяющий порядок приведения объекта из одного типа в другой
Свойство — позволяет применить синтаксис, аналогичный обращению к полю, для получения/изменения состояния объекта
Событие – метод, позволяющий объекту/типу посылать уведомления слушающему типу/объекту
Тип – позволяет определить вложенные типы
Доступ к членам типа
private – тип (и вложенные типы)
protected – тип и производные от него
internal – сборка
protected internal – тип, производные от него и любой код в сборке
public – любой код из любой сборки
Общеязыковая спецификация (Common Language Specification, CLS) – спецификация, описывающая набор правил, позволяющих типам, реализованным на разных языках взаимодействовать друг с другом.
- Учет регистра символов
- Целые числа без знака
- Перегрузка операторов
- Методы с переменным числом параметров
Общеязыковая спецификация
- Учет регистра символов
- Целые числа без знака
- Перегрузка операторов
- Методы с переменным числом параметров