
- •Понятие информационной системы (ис). Корпоративные ис
- •Понятие жизненного цикла ис (жц ис). Стандарты жц ис.
- •Понятие жизненного цикла ис (жц ис). Каскадная модель жц ис.
- •Понятие жизненного цикла ис (жц ис). Спиральная модель жц ис.
- •Методология разработки ис. Модель зрелости cmm/cmmi.
- •Методология разработки ис. Гибкие методологии. Манифест гибкой разработки.
- •Методология разработки ис. Экстремальное программирование.
- •Методология разработки ис. Методология Scrum.
- •Методология разработки ис. Унифицированный процесс
- •10. Язык uml. Способы использования uml. Model Driven Architecture. Executable
- •12. Требования и прецеденты. Формат описания прецедента. Структура прецедента.
- •13. Модель предметной области. Концептуальные классы. Выделение концептуальных классов. Ассоциации и атрибуты концептуальных классов. Выявление ассоциаций и атрибутов концептуальных классов.
- •14. Архитектура по. Архитектурные факторы. Описание архитектуры.
- •16. Паттерн: понятие, структура, классификация.
- •1) Понятие паттерна
- •2) Структура и Классификация паттернов
- •Диаграмма прецедентов. Диаграмма развертывания.
- •Диаграмма классов. Обозначение классов. Отношение ассоциации.
- •3. Диаграмма классов. Обозначение интерфейсов. Отношение обобщения и
- •Диаграммы: конечных автоматов и деятельности.
- •5. Диаграмма последовательности.
- •Диаграмма коммуникации.
- •Принцип единственности ответственности (srp).
- •Понятие функциональной связности (Cohesion). Принцип High Cohesion.
- •9. Понятие степени связанности (Coupling). Принцип Low Coupling.
- •Принцип открытости/закрытости (ocp).
- •Solid: принцип подстановки Лискоу (lsp)
- •Solid: принцип разделения интерфейса (isp).
- •Solid: принцип инверсии зависимости (dip).
- •Формулировка
- •1. .Net Framework. Общеязыковая среда исполнения (clr). Управляемые модули и
- •Net Framework. Механизм сборки мусора.
- •C#. Объявление класса.
- •C#. Делегаты. События.
- •C#. Наследование: правила, синтаксис. Сокрытие имен.
- •C#. Приведение типов. Операторы as и is.
Net Framework. Механизм сборки мусора.
Сборка мусора - одна из форм автоматического управления памятью. Специальный код, называемый сборщиком мусора (garbage collector), периодически освобождает память, удаляя объекты, которые уже не будут востребованы приложением — то есть производит сборку мусора.
Сборка мусора – метод освобождения динамической памяти путем автоматического удаления объектов в случае отсутствия ссылок на них
занимает время
недетерминирована (выполняется по инициативе CLR, а не приложения)
существует механизм принудительной сборки мусора
Деструктор – метод, вызывающийся CLR непосредственно перед уничтожением
объекта сборщиком мусора
синтаксис:
~имя_класса()
{тело}
нельзя предсказать, когда будет выполнен деструктор
Начиная работу, сборщик предполагает, что все объекты в куче — мусор. Иначе говоря, он предполагает, что в стеке потока нет переменных, ссылающихся на объекты в куче, а также что на объекты в куче не ссылаются регистры процессора и статические поля. Затем сборщик переходит к этапу сбора мусора, называемому маркировка (marking). Он проходит по стеку потока и проверяет вес корни. Если окажется, что корень ссылается на объект, в поле SyncBlocklndex этого объекта будет включен бит — именно так объект маркируется. Например, сборщик мусора может найти локальную переменную, указывающую на объект в куче. На рис. 20-3 показана куча с несколькими объектами, в которой корни приложения напрямую ссылаются на объекты А, С D и F. Все эти объекты маркируются. При маркировке объекта D сборщик мусора замечает, что в этом объекте есть поле, ссылающееся на объект Н. Поэтому объект Н также помечается. Затем сборщик продолжает рекурсивный просмотр всех достижимых объектов,
После маркировки корня и объекта, на который ссылается его поле, сборщик мусора проверяет следующий корень и продолжает маркировать объекты. При попытке пометить объект, уже помеченный ранее, сборщик мусора останавливается. Это нужно по двум причинам. Во-первых, заметно повышается быстродействие, так как сборщик проходит набор объектов не больше одного раза, а во-вторых, исключается возможность бесконечных циклов, возникающих из-за замкнутых связных списков объектов.
C#. Объявление класса.
Объявление класса в языке C# создает новый ссылочный тип, дающий возможность программисту моделировать объекты (элементы данные) и которым присуще определённое поведение (методы).
доступ class имя_класса
{
// члены класса
}
Пример:
public class Complex
{ ... }
Каждый класс в C# автоматически снабжается типовым конструктором, который вы можете при необходимости переопределить. Этот типовой конструктор используется по умолчанию и гарантирует что все члены-данные по умолчанию получат типовые входные значения. Конструктор имеет имя, соответствующее имени класса и он никогда не возвращает значения.
Поле – член типа, которые представляет данные и хранит ссылку на ссылочный тип или экземпляр размерного типа.
доступ модификатор тип имя = значение;
public static int MaxSize = 10;
private int x = 7;
static – поле связано с типом, а не с каким-либо конкретным объектом
readonly – запись в поле разрешается только из кода конструктора
Определение метода
доступ модификатор тип_возврата имя_метода(параметры)
{
тело_метода
}