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