Введение в объектно-ориентированный дизайн с Java. Тимур Машнин
сложность проблемы.
И модульность связана с инкапсуляцией.
Модульность может быть визуализирована как способ отображения инкапсулированных абстракций в реальные физические модули, имеющие высокую степень сцепления внутри модулей, а их межмодульное взаимодействие или связь является слабой.
Иерархия – это ранжирование или упорядочение абстракции.
Через иерархию система может состоять из взаимосвязанных подсистем, которые могут иметь свои собственные подсистемы и т. д.
До тех пор, пока не будут достигнуты наименьшие компоненты уровня.
Иерархия использует принцип «разделяй и властвуй».
И иерархия позволяет повторно использовать код.
Двумя типами иерархий являются:
Иерархия «IS-A». Она определяет иерархическую взаимосвязь в наследовании, в которой из суперкласса может быть выведено несколько подклассов, которые могут снова иметь подклассы и т. д.
И иерархия «PART-OF» – определяет иерархическую взаимосвязь в агрегации, посредством которой класс может состоять из других классов.
Согласно теории абстрактного типа данных, тип является характеристикой набора элементов.
В ООП класс визуализируется как тип, имеющий свойства, отличные от любых других типов.
Типизация – это применение понятия о том, что объект является экземпляром одного класса или типа.
Типизация также предусматривает, что объекты разных типов обычно не являются взаимозаменяемыми; и могут быть взаимозаменяемы только в очень ограниченном порядке, если это абсолютно необходимо.
Два типа типизации – это строгая типизация – здесь операция над объектом проверяется во время компиляции.
И слабая типизация – здесь сообщения могут быть отправлены в любой класс.
Операция проверяется только во время выполнения.
Параллельность в операционных системах позволяет одновременно выполнять несколько задач или процессов.
Большинство систем имеют несколько потоков, при этом некоторые активные, а некоторые ждут процессор, некоторые приостановлены и некоторые завершены.
Системы с несколькими процессорами допускают одновременные потоки управления; но системы, работающие на одном процессоре, используют соответствующие алгоритмы для обеспечения равного времени процессора для потоков, чтобы обеспечить параллелизм.
В объектно-ориентированной среде существуют активные и неактивные объекты.
Активные объекты имеют независимые потоки управления, которые могут выполняться одновременно с потоками других объектов.
И активные объекты синхронизируются друг с другом, а также с чисто последовательными объектами.
Объект занимает пространство памяти и существует в течение определенного периода времени.
В традиционном программировании продолжительность жизни объекта обычно была продолжительностью выполнения программы, которая ее создала.
В файлах или базах данных продолжительность жизни объекта больше, чем продолжительность процесса,