Главная страница
Навигация по странице:

  • 11.3. Определение класса. Объект как представитель класса. Механизм наследования классов. Множественное наследование.

  • 11.4. Языки Smalltalk и C++, сравнительная характеристика.

  • 12. Информационно-вычислительные сети.

  • 12.1. Архитектура ИВС. Территориальные и локальные вычислительные сети. Протоколы ИВС.

  • Пример

  • ответник 10-11. 11. Технология объектноориентированного программирования


    Скачать 0.83 Mb.
    Название11. Технология объектноориентированного программирования
    Анкорответник 10-11.doc
    Дата24.09.2018
    Размер0.83 Mb.
    Формат файлаdoc
    Имя файлаответник 10-11.doc
    ТипДокументы
    #25036
    страница2 из 4
    1   2   3   4

    Абстракция данных. Объекты представляют собою упрощенное, идеализированное описание реальных сущностей предметной области. Если соответствующие модели адекватны решаемой задаче, то работать с ними оказывается намного удобнее, чем с низкоуровневым описанием всех возможных свойств и реакций объекта.

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

    Сокрытие данных — неотделимая часть ООП, управляющая областями видимости. Является логическим продолжением инкапсуляции. Целью сокрытия является невозможность для пользователя узнать или испортить внутреннее состояние объекта.

    Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов класса-предка (прародителя, иногда его называют суперклассом) и добавляя, при необходимости, новые свойства и методы. Набор классов, связанных отношением наследования, называют иерархией. Наследование призвано отобразить такое свойство реального мира, как иерархичность.

    Полиморфизмом называют явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, объект какого класса используется при вызове данного метода. Полиморфизм обеспечивается тем, что в классе-потомке изменяют реализацию метода класса-предка с обязательным сохранением сигнатуры метода. Это обеспечивает сохранение неизменным интерфейса класса-предка и позволяет осуществить связывание имени метода в коде с разными классами — из объекта какого класса осуществляется вызов, из того класса и берётся метод с данным именем. Такой механизм называется динамическим (или поздним) связыванием — в отличие от статического (раннего) связывания, осуществляемого на этапе компиляции.

    11.3. Определение класса. Объект как представитель класса. Механизм наследования классов. Множественное наследование.

    ИЗ Книги Лафоре Объектно-ориентированное программирование.















    11.4. Языки Smalltalk и C++, сравнительная характеристика.

    Smalltalk

    Smalltalk (произносится [смо?лток]) — объектно-ориентированный язык программирования с динамической типизацией, разработанный в Xerox PARC Аланом Кэйем, Дэном Ингаллсом, Тедом Кэглером, Адель Голдберг, и другими в 1970-х годах. Язык был представлен как Smalltalk-80 и с тех пор широко используется. Smalltalk продолжает активно развиваться и собирает вокруг себя сообщество пользователей.

    Smalltalk оказал большое влияние на развитие многих других языков, таких как: Objective-C, Actor, Java, Groovy и Ruby. Многие идеи 1980-х и 1990-х по написанию программ появились в сообществе Smalltalk. К ним можно отнести рефакторинг, шаблоны проектирования (применительно к ПО), карты Класс-Обязанности-Взаимодействие и экстремальное программирование в целом. Основатель концепции Wiki, Вард Каннингем, также входит в сообщество Smalltalk.

    Основные идеи

    Основными идеями Smalltalk являются:

    Всё — объекты. Строки, целые числа, логические значения, определения классов, блоки кода, стеки, память — всё представляется в виде объектов. Выполнение программы состоит из посылок сообщений между объектами. Любое сообщение может быть послано любому объекту; объект-получатель определяет, является ли это сообщение правильным, и что надо сделать, чтобы его обработать.

    Всё доступно для изменения. Если вы хотите изменить интегрированную среду разработки, вы можете сделать это в работающей системе, без остановки, перекомпиляции и перезапуска. Если вам необходима в языке новая управляющая структура, вы можете добавить её. В некоторых реализациях вы можете также изменить синтаксис языка или способ работы сборщика мусора.

    Динамическая типизация — это означает, что вы не указываете типы переменных в программе, что делает язык гораздо лаконичней. (Как объяснено выше, является ли операция правильной, определяет объект-получатель, а не компилятор).

    Model-view-controller (MVC) шаблон структуры пользовательского интерфейса. (В последнее время используют и другие концепции реализации пользовательского интерфейса — например, Morlihic в Squeak и LIollock в VisualWorks).

    Dynamic translation: современные коммерческие виртуальные машины компилируют байткоды в машинные коды для быстрого выполнения.

    Чтобы лучше понять, как работает механизм обмена сообщениями, можно представить каждый объект как веб-сервер, отвечающий на запросы.

    12. Информационно-вычислительные сети.

    Определение. Информационно-вычислительная сеть – это система компьютеров, объединенных каналами передачи данных.

    Соединение компьютеров в сеть обеспечивает следующие основные возможности:

    > Объединение ресурсов - возможность резервировать вычислительные мощности и средства передачи данных на случай выхода из строя отдельных из них с целью быстрого восстановления нормальной работы сети.

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

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

    > Разделение программных средств - возможность совместного использования программных средств.

    > Разделение вычислительных ресурсов - возможность организовать параллельную обработку данных; используя для обработки данных другие системы, входящие в сеть.

    > Многопользовательский режим.

    Основная задача существования ИВС – информационное обслуживание пользователей, в том числе:

    • Хранение и обработка данных;

    • Предоставление данных пользователям.

    Современные ИС, как правило, являются распределенными. Таким образом, ИВС представляет собой комплекс технических средств, обеспечивающих функционирование ИС (техническую обеспечивающую подсистему).

    Показатели качества ИВС:

    • Полнота функциональности;

    • Производительность (среднее количество запросов, обрабатываемых за единицу времени). Важным показателем производительности является пропускная способность сети – количество данных, передаваемых через сеть за единицу времени.

    • Надежность (устойчивость к помехам и отказам)

    • Защищенность информации, передаваемой по сети;

    • Прозрачность для пользователя – он должен использовать ресурсы сети точно так же как и локальные ресурсы собственного компьютера.

    • Масштабируемость и универсальность – возможность расширения сети без существенного снижения производительности, а также возможность подключать и использовать разнообразное техническое и программное обеспечение.

    12.1. Архитектура ИВС. Территориальные и локальные вычислительные сети. Протоколы ИВС.

    Концептуальное описание информационно-вычислительной сети часто называют ее архитектурой.

    Понятие Архитектура ИВС обычно включает в себя описание следующих элементов:

    • Геометрию построения (топологию) сети;

    • Протоколы передачи данных;

    • Техническое обеспечение информационно-вычислительных сетей.

    Определение. Топология – это схема соединения сетевых компьютеров, кабельной системы и других сетевых компонентов.

    Топологии ИВС принято разделять на 2 основных класса:

    • широковещательные;

    • последовательные.

    В широковещательных конфигурациях каждый компьютер передает сигналы, которые могут быть восприняты всеми остальными компьютерами.

    К таким конфигурациям относятся:

    1. общая шина;

    2. дерево (соединение общих шин);

    3. звезда с пассивным центром.

    Широковещательные топологии применяются в основном для ЛВС.

    В последовательных конфигурациях каждый физический подуровень передает информацию только одному компьютеру.

    К таким конфигурациям относятся:

    1. звезда с интеллектуальным центром;

    2. кольцо;

    3. цепочка;

    4. иерархическое соединение;

    5. снежинка;

    6. произвольное соединение (ячеистая конфигурация);

    Последовательные топологии применяются для глобальных сетей.

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

    В сети с кольцевой топологией все узлы соединены в единую замкнутую петлю (кольцо) каналами связи. Выход одного узла соединяется со входом другого узла. Информация передается от узла к узлу и при необходимости (если сообщение адресовано не ему) ретранслируется им по сети дальше. Передача данных осуществляется с использованием специальной интерфейсной аппаратуры и ведется в одном направлении.

    Основу сети с радиальной топологией составляет специальное сетевое устройство, к которому подключаются компьютеры – каждый по своей линии связи. Таким устройством может выступать активный или пассивный концентратор, через который рабочие станции сети, например, осуществляют взаимодействие с сервером.

    Существуют также иные виды топологий, которые являются развитием базовых: цепочка, дерево, снежинка, сеть и т.д. Топология реальной сети может совпадать с одной из указанных выше, либо представлять собой их комбинацию.

    В различных топологиях реализуются различные принципы передачи информации:

    1. в широковещательных – селекция информации;

    2. в последовательных – маршрутизация информации.

    ИВС классифицируются по ряду признаков. Зависимо от расстояний меж связываемыми узлами различают вычислительные сети:

    территориальные — обхватывающие существенное географическое место. Посреди территориальных сетей можно выделить сети региональные и глобальные, имеющие соответственно региональные либо глобальные масштабы; региональные сети время от времени именуют сетями MAN (Metropolitan Area Network), а общее английское заглавие для территориальных сетей — WAN (Wide Area Network);

    локальные (ЛВС) — обхватывающие ограниченную местность (обычно в границах удаленности станций менее чем на несколько 10-ов либо сотен метров друг от друга, пореже — на 1.2 км). Локальные сети обозначают LAN (Local Area Network);

    Определение. Сетевой протокол – это набор правил и методов взаимодействия объектов вычислительной сети, охватывающий основные процедуры, алгоритмы и форматы преобразования и передачи данных в сети.

    Международная организация по стандартизации разработала систему стандартных протоколов, которые охватывают все уровни сетевого взаимодействия – от физического до прикладного. Эта система протоколов получила название модели взаимодействия открытых систем (OSI, Open System Interconnection).

    Модель OSI включает в себя 7 уровней взаимодействия:

    • 1 – физический (формирует физическую среду передачи данных). Пример: Ethernet;

    • 2 – канальный (организация и управление физическим каналом передачи данных);

    • 3 – сетевой (обеспечивает маршрутизацию передачи данных в сети, устанавливает логический канал передачи данных). Пример: IP;

    • 4 – транспортный (обеспечивает сегментирование данных и их надежную передачу от источника к потребителю). Пример: TCP;

    • 5 – сеансовый (инициализация сеансов связи между приложениями, управление очередностью и режимами передачи данных) Пример: RPC;

    • 6 – Представления (обеспечивает представление передаваемых данных в удобном для прикладных программ виде, включая шифрование/дешифрование, синтаксис и т.п.) Практическое применение ограничено;

    • 7 – прикладной (обеспечивает средства сетевого доступа для прикладных программ). Пример: FTP, HTTP, Telnet.

    12.2. Аппаратное обеспечение ИВС. Программное обеспечение ИВС.

    Аппаратное обеспечение сетей ЭВМ.

    Сетевые карты - периферийное устройство, позволяющее компьютерувзаимодействовать с другими устройствами сети. В настоящее время, особенно в персональных компьютерах, сетевые платы довольно часто интегрированы в материнские платы для удобства и удешевления всего компьютера в целом. Сетевой адаптер (Network Interface Card (или Controller), NIC) вместе со своим драйвером реализует второй, канальный уровень модели открытых систем в конечном узле сети — компьютере. Более точно, в сетевой операционной системе пара адаптер и драйвер выполняет только функции физического и МАС-уровней, в то время как LLC-уровень обычно реализуется модулем операционной системы, единым для всех драйверов и сетевых адаптеров. Собственно так оно и должно быть в соответствии с моделью стека протоколов IEEE 802. Например, в ОС Windows NT уровень LLC реализуется в модуле NDIS, общем для всех драйверов сетевых адаптеров, независимо от того, какую технологию поддерживает драйвер. Сетевой адаптер совместно с драйвером выполняют две операции: передачу и прием кадра.

    Мосты - сетевое устройство 2 уровня модели OSI, предназначенное для объединения сегментов(подсети) компьютерной сети разных топологий и архитектур.

    Мост обеспечивает:

    · ограничение домена коллизий

    · задержку фреймов, адресованных узлу в сегменте отправителя

    · ограничение перехода из домена в домен ошибочных фреймов:

    1. карликов (фреймов меньшей длины, чем допускается по стандарту

    (64 байта))

    2. фреймов с ошибками в CRC

    3. фреймов с признаком «коллизия»

    4. затянувшихся фреймов (размером больше, чем разрешено стандартом)

    Мосты «изучают» характер расположения сегментов сети путем построения адресных таблиц вида «Интерфейс:MAC-адрес», в которых содержатся адреса всех сетевых устройств и сегментов, необходимых для получения доступа к данному устройству. Мосты увеличивают латентность сети на 10-30 %. Это увеличение латентности связано с тем, что мосту при передаче данных требуется дополнительное время на принятие решения. Мост рассматривается как устройство с функциями хранения и дальнейшей отправки, поскольку он должен проанализировать поле адреса пункта назначения фрейма и вычислить контрольную сумму CRC в поле контрольной последовательности фрейма перед отправкой фрейма на все порты.

    Если порт пункта назначения в данный момент занят, то мост может временно сохранить фрейм до освобождения порта. Для выполнения этих операций требуется некоторое время, что замедляет процесс передачи и увеличивает латентность.

    Коммутаторы - устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. В отличие от концентратора, который распространяет трафик от одного подключенного устройства ко всем остальным, коммутатор передаёт данные только непосредственно получателю, исключение составляет широковещательный трафик (на MAC-адрес FF:FF:FF:FF:FF:FF) всем узлам сети. Это повышает производительность и безопасность сети, избавляя остальные сегменты сети от необходимости (и возможности) обрабатывать данные, которые им не предназначались.

    Коммутатор работает на канальном (2) уровне модели OSI и потому в общем случае может только объединять узлы одной сети по их MAC-адресам. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты.

    Маршрутизаторы - сетевоеустройство, на основании информации о топологии сети и определённых правил принимающее решения о пересылке пакетов сетевого уровня (уровень 3 модели OSI) между различными сегментами сети. Работает на более высоком уровне (3 уровень), нежели коммутатор и сетевой мост. Маршрутизаторы помогают уменьшить загрузку сети, благодаря её разделению на домены коллизий или широковещательные домены, а также благодаря фильтрации пакетов. В основном их применяют для объединения сетей разных типов, зачастую несовместимых по архитектуре и протоколам, например для объединения локальных сетей Ethernet и WAN-соединений, использующих протоколы xDSL, PPP, ATM, Frame relay и т. д. Нередко маршрутизатор используется для обеспечения доступа из локальной сети в глобальную сеть Интернет, осуществляя функции трансляции адресов и межсетевого экрана. В качестве маршрутизатора может выступать как специализированное (аппаратное) устройство, так и обычный компьютер, выполняющий функции маршрутизатора.
    1   2   3   4


    написать администратору сайта