
- •Гугл-дока для екзамену Архітектура компютера. Програмне забезпечення
- •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-сервісу.
- •Используемые стандарты
17. Інтерфейси в мові c#. Порівняння з абстрактними класами. Сфера застосування інтерфейсів.
Интерфейсы описывают группу связанных функциональных возможностей, которые могут принадлежать к любому классу или структуре. Интерфейсы определяются с помощью ключевого слова interface :
interface IEquatable<T> { bool Equals(T obj); }
Интерфейсы содержат методы, свойства, события, индексаторы или любое сочетание этих перечисленных типов членов. Интерфейс не может содержать константы, поля, операторы, конструкторы экземпляров, деструкторы или типы. Он не может содержать статические члены. Члены интерфейсов автоматически являются открытыми, и они не могут включать никакие модификаторы доступа.
Когда класс или структура реализует интерфейс, класс или структура предоставляет реализацию для всех членов, определяемых интерфейсом. Сам интерфейс не предоставляет функциональных возможностей, которые класс или структура могут наследовать таким же образом, каким могут наследоваться функциональные возможности базового класса. Однако если базовый класс реализует интерфейс, производный класс наследует эту реализацию. Говорится, что производный класс неявно реализует интерфейс.
Классы и структуры реализуют интерфейсы таким же образом, как классы наследуются от базового класса или структуры, но есть два исключения:
Класс или структура может реализовать несколько интерфейсов.
Если класс или структура реализует интерфейс, она получает только имена и сигнатуры метода, поскольку в интерфейсе не содержится никаких реализаций.
Для реализации члена интерфейса соответствующий член класса должен быть открытым и не статическим, он должен обладать таким же именем и сигнатурой, как член интерфейса. Свойства и индексаторы класса могут определить дополнительные методы доступа для свойства или индексатора, определенного в интерфейсе. Например, интерфейс может объявлять свойство, имеющее метод доступа get. Класс, реализующий интерфейс может объявлять это же свойство get и set методами доступа. Если же свойство или индексатор использует явную реализацию, методы доступа должны совпадать.
Интерфейс имеет следующие свойства.
Интерфейс подобен абстрактному базовому классу: любой неабстрактный тип, реализующий интерфейс, должен реализовать все его члены.
Невозможно создать экземпляр интерфейса напрямую.
Интерфейсы могут содержать события, индексаторы, методы и свойства в качестве членов.
Интерфейсы не содержат реализации методов.
Как классы, так и структуры способны реализовывать несколько интерфейсов.
Интерфейс может быть унаследован от нескольких интерфейсов.
18. Огляд колекцій в .Net. Основні інтерфейси, що лежать в основі доступу до колекцій.
Платформа .NET Framework предоставляет программистам ряд стандартных интерфейсов для создания, перечисления и сравнения объектов классов коллекций. Основные из них:
IEnumerable - Составляет список объектов классов коллекций с помощью оператора foreach
ICollection - Реализуется всеми классами коллекций для обеспечения доступа к методу СоруТоО и свойствам Gojrt, IsSynchronized и SyncRoot
IComparer - Сравнивает два объекта классов коллекций при их сортировке
IList - Используется объектами классов коллекций, индексируемыми как массив
IDicticmary - Используется классами коллекций, осуществляющими доступ по ключу или значению, таких как Hast"table и SortedList
IDictionaryEnumerator - Позволяет просмотреть (с помощью оператора foreach) объекты классов коллекций, поддерживающих интерфейс IDictionary
ArrayList - Динамически изменяющий свой размер массив объектов
Hashtable - Представляет набор взаимосвязанных ключей и значений, основанных на хэш-коде ключа.
Queue - Стандартная очередь, реализованная по принципу FIFO (first-in-first-out, «первым пришел, первым ушел»)
Sorted List - Аналогично словарю, однако к элементам можно также обратиться по их порядковому номеру(индексу)
Stack - Очередь, реализованная по принципу LIFO (last-in-first-out, «последним пришел, первым ушел»), обеспечивающая возможности по проталкиванию данных в стек, выталкиванию данных из стека и считыванию данных