Объектно-ориентированный дизайн

редактировать

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

Содержание

  • 1 Обзор
  • 2 Темы объектно-ориентированного проектирования
    • 2.1 Входные данные (источники) для объектно-ориентированного проектирования
    • 2.2 Объектно-ориентированные концепции
    • 2.3 Разработка концепций
    • 2.4 Выходные данные (результаты) объектно-ориентированного проектирования
    • 2.5 Некоторые принципы и стратегии проектирования
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

Обзор

Объект содержит инкапсулированные данные и процедуры, сгруппированные вместе для представления сущности. «Интерфейс объекта» определяет, как можно взаимодействовать с объектом. Объектно-ориентированная программа описывается взаимодействием этих объектов. Объектно-ориентированное проектирование - это дисциплина определения объектов и их взаимодействия для решения проблемы, которая была выявлена ​​и задокументирована в ходе объектно-ориентированного анализа.

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

Темы объектно-ориентированного дизайна

Входные данные (источники) для объектно-ориентированного дизайна

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

Вот некоторые типичные входные артефакты для объектно-ориентированного проектирования:

  • Концептуальная модель : результат объектно-ориентированного анализа, он отражает концепции в. Концептуальная модель явно выбрана так, чтобы не зависеть от деталей реализации, таких как параллелизм или хранилище данных.
  • Вариант использования : описание последовательностей событий, которые, вместе взятые, приводят к системе. делать что-то полезное. Каждый вариант использования предоставляет один или несколько сценариев, которые показывают, как система должна взаимодействовать с пользователями, называемыми субъектами, для достижения определенной бизнес-цели или функции. Действующими лицами вариантов использования могут быть конечные пользователи или другие системы. Во многих случаях варианты использования далее развиваются в диаграммы вариантов использования. Диаграммы вариантов использования используются для идентификации действующего лица (пользователей или других систем) и процессов, которые они выполняют.
  • Диаграмма последовательности действий системы : Диаграммы последовательности операций системы (SSD) - это изображение, которое показывает для конкретного сценария вариант использования, события, генерируемые внешними участниками, их порядок и возможные межсистемные события.
  • Пользовательский интерфейс документация (если применимо): документ, который показывает и описывает внешний вид пользовательский интерфейс конечного продукта. Это не обязательно, но это помогает визуализировать конечный продукт и, следовательно, помогает проектировщику.
  • Реляционная модель данных (если применимо): модель данных - это абстрактная модель, которая описывает, как данные представлены и использовал. Если объектная база данных не используется, реляционную модель данных обычно следует создавать до проектирования, поскольку стратегия, выбранная для объектно-реляционного сопоставления, является результатом процесса объектно-ориентированного проектирования. Однако можно разрабатывать реляционную модель данных и артефакты объектно-ориентированного проектирования параллельно, и рост артефакта может стимулировать улучшение других артефактов.

Объектно-ориентированные концепции

Пять Основные концепции объектно-ориентированного проектирования - это функции уровня реализации, встроенные в язык программирования. Эти функции часто упоминаются этими общими именами:

  • Объект / Класс : тесная связь или ассоциация структур данных с методами или функциями, которые действуют с данными. Это называется классом или объектом (объект создается на основе класса). Каждый объект выполняет отдельную функцию. Он определяется своими свойствами, тем, что это такое и на что он способен. Объект может быть частью класса, который представляет собой набор похожих объектов.
  • Скрытие информации : возможность защиты некоторых компонентов объекта от внешних сущностей. Это реализуется с помощью ключевых слов языка, позволяющих объявить переменную как частную или защищенную для класса-владельца.
  • Наследование : способность класса расширять или отменять функциональность другого класса. Так называемый подкласс имеет целый раздел, который является производным (унаследованным) от суперкласса, а затем имеет свой собственный набор функций и данных.
  • Интерфейс (объектно-ориентированное программирование) : возможность отложить реализацию метода. Возможность определять сигнатуры функций или методов без их реализации.
  • Полиморфизм (в частности, Подтип ): Возможность заменять объект его подобъектами. Способность объекта-переменной содержать не только этот объект, но и все его подобъекты.

Концепции проектирования

  • Определение объектов, создание диаграммы классов из концептуальной диаграммы : Обычно сопоставляют сущность с классом.
  • Идентификация атрибутов.
  • Использование шаблонов проектирования (если применимо): шаблон проектирования не является законченным проектом, это описание решение общей проблемы в контексте. Основное преимущество использования шаблона проектирования заключается в том, что его можно повторно использовать в нескольких приложениях. Его также можно рассматривать как шаблон решения проблемы, который можно использовать во многих различных ситуациях и / или приложениях. Шаблоны объектно-ориентированного проектирования обычно показывают взаимосвязи и взаимодействия между классами или объектами, без указания конечных классов или объектов приложения, которые участвуют.
  • Определите структуру приложения (если применимо): каркас приложения является обычно набор библиотек или классов, которые используются для реализации стандартной структуры приложения для конкретной операционной системы. Объединение большого количества повторно используемого кода в фреймворк позволяет сэкономить много времени для разработчика, так как ему / ей не нужно переписывать большие объемы стандартного кода для каждого нового разрабатываемого приложения.
  • Определить постоянные объекты / данные (если применимо): идентифицируйте объекты, которые должны существовать дольше, чем одно время выполнения приложения. Если используется реляционная база данных, спроектируйте отображение объектных отношений.
  • Идентифицируйте и определите удаленные объекты (если применимо).

Выходные данные (результаты) объектно-ориентированного проектирования

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

Некоторые принципы и стратегии проектирования

  • Внедрение зависимостей : Основная идея заключается в что если объект зависит от наличия экземпляра какого-либо другого объекта, то необходимый объект «вводится» в зависимый объект; например, передача соединения с базой данных в качестве аргумента конструктору вместо его внутреннего создания.
  • Принцип ациклических зависимостей : граф зависимостей пакетов или компонентов (степень детализации зависит от объема работы одного разработчика) не должно быть циклов. Это также упоминается как наличие направленного ациклического графа. Например, пакет C зависит от пакета B, который зависит от пакета A. Если пакет A также зависит от пакета C, то у вас будет цикл.
  • Принцип повторного использования составных частей : отдавайте предпочтение полиморфной композиции объектов наследованию.

См. Также

Ссылки

Внешние ссылки

Викискладе есть материалы, связанные с объектно-ориентированным дизайном.
Последняя правка сделана 2021-06-01 07:21:53
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте