- •Гугл-дока для екзамену Архітектура компютера. Програмне забезпечення
- •1. Поняття платформи. Структура та основні складові .Net Framework.
- •2. Функції та структура clr.
- •3. Поняття збірки. Метадані. Схема виконання .Net-додатку в clr.
- •4. Система типів даних мови c#. Типи-значення.
- •5. Система типів даних мови c#. Типи-посилання.
- •6. Масиви в c#: одновимірні, багатовимірні, ступеневі. Методи та властивості класу Array.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.
- •7. Методи в c#: модифікатори доступу, передача параметрів, перевантаження, наслідування.(Второй вариант)
- •8. Багатопоточне програмування засобами .Net. Структура процесу ос Windows. Клас Thread.
- •9. Характеристика засобів синхронізації потоків та процесів .Net Framework.
- •10. Об’єкти синхронізації потоків .Net Monitor та ReaderWriterLock.
- •11. Об’єкти синхронізації потоків .Net lock та ManualResetEvent.
- •12. Об’єкти синхронізації потоків .Net AutoResetEvent та Mutex.
- •13. Обробка виключних ситуацій в мові c#, основні класи та методи .Net щодо обробки виключень.
- •14. Віртуальні функції та абстрактні класи в мові c#.
- •15. Статичні конструктори, поля та методи класів в мові c#.
- •17. Інтерфейси в мові c#. Порівняння з абстрактними класами. Сфера застосування інтерфейсів.
- •18. Огляд колекцій в .Net. Основні інтерфейси, що лежать в основі доступу до колекцій.
- •19. Колекція ArrayList. Методи та властивості. Переваги та недоліки використання.
- •20. Колекції Stack та Queue. Методи та властивості.
- •21. Колекція BitArray. Методи та властивості. Переваги та недоліки використання.
- •22. Колекція HashTable. Методи та властивості. Переваги та недоліки використання.
- •23. Характеристика generic-колекцій .Net
- •24. Колекція LinkedList. Методи та властивості.
- •26. Групи класів доступу до даних технології ado.Net.
- •27. Характеристика від’єднаних класів технології ado.Net.
- •28. Характеристика під’єднаних класів технології ado.Net.
- •29. Завантаження бінарних об’єктів у базу даних та вивантаження їх із неї.
- •30. Транзакції в базах даних. Інтерфейс транзакцій технології ado.Net.
- •31. Особливості мережевих протоколів tcp та udp. Поняття порту, адреси, сокету.
- •32. Характеристика сокетів зі з’єднанням. Інтерфейс класу Socket для даного типу сокетів.
- •33. Характеристика сокетів без з’єднання. Інтерфейс класу Socket для даного типу сокетів.
- •34. Характеристика асинхронних та синхронних сокетів. Інтерфейс класу Socket для даного типу сокетів.
- •35. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними зі з’єднанням. Інтерфейс класу tcpListener.
- •36. Узагальнений алгоритм взаємодії клієнта та сервера при синхронному сокетному способі обміну даними без з’єднання. Інтерфейс класу tcpClient..
- •37. Загальна схема та реалізація багатопоточного сокетного сервера зі з’єднанням.
- •38. Поняття сервіс-орієнтованого архітектури. Web-сервіси: переваги та недоліки, стандарти в основі Web-сервісів.
- •Стандарти, що використовуються веб-службами
- •Переваги веб-служб
- •Недоліки веб-служб
- •39. Компоненти архітектури Web-сервісів. Протоколи для Web-сервісів. Приклад реалізації серверної частини Web-сервісу.
- •Используемые стандарты
23. Характеристика generic-колекцій .Net
CLR поддерживает возможность повторного использования кода (алгоритма).
Преимущества обобщенных контейнеров
Более высокая продуктивность поскольку отстствуют boxing, unboxing
Более безопасные к типам поскольку могут иметь объекты только определенных типов
Обобщенные типы (generics) позволяют при описании классов, структур, методов и интерфейсов использовать параметризованные параметры (не указывать тип параметра в момент написания кода). Тип параметра определяется в момент объявления переменной соответствующего типа.
Пространство имен System.Collections.Generic содержит интерфейсы и классы, определяющие универсальные коллекции, которые позволяют пользователям создавать строго типизированные коллекции, обеспечивающие повышенную производительность и безопасность типов по сравнению с неуниверсальными строго типизированными коллекциями.
Comparer<T> Представляет базовый класс для реализаций универсального интерфейса IComparer<T>.
LinkedList<T> Представляет двусвязный список.
Dictionary<TKey, TValue> Представляет коллекцию ключей и значений.
List<T> Представляет строго типизированный список объектов, доступных по индексу. Поддерживает методы для поиска по списку, выполнения сортировки и других операций со списками.
Queue<T>Представляет коллекцию объектов, основанную на принципе "первым поступил — первым обслужен".
Stack<T> Представляет коллекцию экземпляров одного и того же произвольного типа, имеющую переменный размер и основанную на принципе "последним поступил — первым обслужен".
24. Колекція LinkedList. Методи та властивості.
Представляет двусвязный список.
T - Задает тип элемента в связанном списке.
public class LinkedList<T> : ICollection<T>, IEnumerable<T>, ICollection, IEnumerable, ISerializable, IDeserializationCallback
Свойства
Count Возвращает число узлов, которое в действительности хранится в LinkedList<T>.
First Получает первый узел объекта LinkedList<T>.
Last Получает последний узел объекта LinkedList<T>.
Методы
AddAfter(LinkedListNode<T>, LinkedListNode<T>) - Добавляет указанный новый узел после указанного существующего узла в LinkedList<T>.
AddAfter(LinkedListNode<T>, T) - Добавляет новый узел, содержащий указанное значение, после указанного существующего узла в LinkedList<T>.
AddBefore(LinkedListNode<T>, LinkedListNode<T>) - Добавляет указанный новый узел перед указанным существующим узлом в LinkedList<T>.
AddBefore(LinkedListNode<T>, T) - Добавляет новый узел, содержащий указанное значение, перед указанным существующим узлом в LinkedList<T>.
AddFirst(T) - Добавляет новый узел, содержащий указанное значение, в начало LinkedList<T>.
AddFirst(LinkedListNode<T>) - Добавляет указанный новый узел в начало LinkedList<T>.
AddLast(T) - Добавляет новый узел, содержащий указанное значение, в конец LinkedList<T>.
AddLast(LinkedListNode<T>) - Добавляет заданный новый узел в конец LinkedList<T>.
Clear - Удаляет все узлы из LinkedList<T>.
Contains - Определяет, принадлежит ли значение объекту LinkedList<T>.
Finalize - Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Find - Находит первый узел, содержащий указанное значение.
FindLast - Находит последний узел, содержащий указанное значение.
GetEnumerator - Возвращает перечислитель, осуществляющий перебор элементов LinkedList<T>.
GetObjectData - Реализует интерфейс System.Runtime.Serialization.ISerializable и возвращает данные, необходимые для сериализации экземпляра класса LinkedList<T>.
OnDeserialization - Реализует интерфейс System.Runtime.Serialization.ISerializable и вызывает событие десериализации при завершении десериализации.
Remove(T) - Удаляет первое вхождение указанного значения из LinkedList<T>.
Remove(LinkedListNode<T>) - Удаляет заданный узел из LinkedList<T>.
RemoveFirst - Удаляет узел в начале LinkedList<T>.
RemoveLast - Удаляет узел в конце LinkedList<T>.
Примечание
LinkedList<T> предоставляет отдельные узлы типа LinkedListNode<T>, поэтому вставка и удаление являются операциями O(1).
Пользователь может удалить узлы и повторно их вставить — как в тот же самый список, так и в другой список. В результате в куче не размещается ни одного дополнительного объекта. Поскольку список также содержит внутренний счетчик, получение свойства Count является операцией O(1).
Каждый узел в объекте LinkedList<T> имеет тип LinkedListNode<T>. Поскольку объект LinkedList<T> является двусвязным, каждый узел указывает вперед на узел Next и назад — на узел Previous.
Списки, содержащие ссылочные типы работают лучше, когда узел и его значение создаются одновременно. Объект LinkedList<T> принимает значение null в качестве допустимого свойства Value для ссылочных типов и разрешает дублирование значений. Если объект LinkedList<T> пуст, свойства First и Last содержат значение null.
25. Колекція Dictionary<K, V>. Методи та властивості.
Универсальный класс Dictionary<TKey, TValue> обеспечивает отображение множества ключей в множество значений. Каждый элемент, добавляемый словарь, состоит из значения и связанного с ним ключа. Извлечение значения по его ключу происходит очень быстро поскольку класс Dictionary<TKey, TValue> реализован как хэш-таблица.
Свойства
Comparer - возвращает компаратор IEqualityComparer<T>, используемый для установления равенства ключей словаря.
Count - возвращает число пар "ключ-значение", содержащихся в словаре Dictionary<K,V>.
Item - возвращает или задает значение, связанное с указанным ключом.
Keys - получает коллекцию, содержащую ключи из словаря Dictionary<K, V>.
Values - получает коллекцию, содержащую значения в объекте Dictionary<K, V>.
Методы
Add - добавляет указанные ключ и значение в словарь.
Clear - удаляет все ключи и значения из словаря Dictionary<K, V>.
ContainsKey - определяет, содержится ли указанный ключ в словаре Dictionary<K,V>.
ContainsValue - определяет, содержится ли указанное значение в списке Dictionary<K,V>.
Finalize - позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора.
GetEnumerator - возвращает перечислитель, осуществляющий перебор элементов словаря Dictionary<K, V>.
GetType - возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
MemberwiseClone - создает неполную копию текущего объекта Object.
Remove - удаляет значение с указанным ключом из словаря Dictionary<K, V>.
ToString Возвращение строки, представляющей текущий объект.
TryGetValue Получает значение, связанное с указанным ключом.
Dictionary<string, string> openWith = new Dictionary<string, string>(); openWith.Add("txt", "notepad.exe"); openWith.Add("bmp", "paint.exe"); openWith.Add("dib", "paint.exe"); openWith.Add("rtf", "wordpad.exe");
openWith["doc"] = "winword.exe";
foreach( KeyValuePair<string, string> kvp in openWith ){ Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);}