Объектно-ориентированный дизайн
редактировать
Объектно-ориентированный дизайн есть процесс планирования системы взаимодействующих объектов с целью решения программной задачи. Это один из подходов к проектированию программного обеспечения.
Содержание
- 1 Обзор
- 2 Темы объектно-ориентированного проектирования
- 2.1 Входные данные (источники) для объектно-ориентированного проектирования
- 2.2 Объектно-ориентированные концепции
- 2.3 Разработка концепций
- 2.4 Выходные данные (результаты) объектно-ориентированного проектирования
- 2.5 Некоторые принципы и стратегии проектирования
- 3 См. Также
- 4 Ссылки
- 5 Внешние ссылки
Обзор
Объект содержит инкапсулированные данные и процедуры, сгруппированные вместе для представления сущности. «Интерфейс объекта» определяет, как можно взаимодействовать с объектом. Объектно-ориентированная программа описывается взаимодействием этих объектов. Объектно-ориентированное проектирование - это дисциплина определения объектов и их взаимодействия для решения проблемы, которая была выявлена и задокументирована в ходе объектно-ориентированного анализа.
Ниже приводится описание на основе классов подмножество объектно-ориентированного проектирования, которое не включает подходы на основе прототипов объектов, в которых объекты обычно получаются не путем создания экземпляров классов, а путем клонирования других (прототипов) объектов. Объектно-ориентированное проектирование - это метод проектирования, охватывающий процесс объектно-ориентированной декомпозиции и обозначение для изображения как логических и физических, так и состояний и динамических моделей проектируемой системы.
Темы объектно-ориентированного дизайна
Входные данные (источники) для объектно-ориентированного дизайна
Входные данные для объектно-ориентированного дизайна обеспечиваются выходными данными объектно-ориентированного дизайна. ориентированный анализ. Поймите, что выходной артефакт не нужно полностью разрабатывать, чтобы он служил входом объектно-ориентированного дизайна; анализ и проектирование могут происходить параллельно, и на практике результаты одного действия могут служить основой для другого в коротком цикле обратной связи посредством итеративного процесса. И анализ, и проектирование можно выполнять постепенно, а артефакты можно наращивать непрерывно, а не полностью проявлять за один раз.
Вот некоторые типичные входные артефакты для объектно-ориентированного проектирования:
- Концептуальная модель : результат объектно-ориентированного анализа, он отражает концепции в. Концептуальная модель явно выбрана так, чтобы не зависеть от деталей реализации, таких как параллелизм или хранилище данных.
- Вариант использования : описание последовательностей событий, которые, вместе взятые, приводят к системе. делать что-то полезное. Каждый вариант использования предоставляет один или несколько сценариев, которые показывают, как система должна взаимодействовать с пользователями, называемыми субъектами, для достижения определенной бизнес-цели или функции. Действующими лицами вариантов использования могут быть конечные пользователи или другие системы. Во многих случаях варианты использования далее развиваются в диаграммы вариантов использования. Диаграммы вариантов использования используются для идентификации действующего лица (пользователей или других систем) и процессов, которые они выполняют.
- Диаграмма последовательности действий системы : Диаграммы последовательности операций системы (SSD) - это изображение, которое показывает для конкретного сценария вариант использования, события, генерируемые внешними участниками, их порядок и возможные межсистемные события.
- Пользовательский интерфейс документация (если применимо): документ, который показывает и описывает внешний вид пользовательский интерфейс конечного продукта. Это не обязательно, но это помогает визуализировать конечный продукт и, следовательно, помогает проектировщику.
- Реляционная модель данных (если применимо): модель данных - это абстрактная модель, которая описывает, как данные представлены и использовал. Если объектная база данных не используется, реляционную модель данных обычно следует создавать до проектирования, поскольку стратегия, выбранная для объектно-реляционного сопоставления, является результатом процесса объектно-ориентированного проектирования. Однако можно разрабатывать реляционную модель данных и артефакты объектно-ориентированного проектирования параллельно, и рост артефакта может стимулировать улучшение других артефактов.
Объектно-ориентированные концепции
Пять Основные концепции объектно-ориентированного проектирования - это функции уровня реализации, встроенные в язык программирования. Эти функции часто упоминаются этими общими именами:
- Объект / Класс : тесная связь или ассоциация структур данных с методами или функциями, которые действуют с данными. Это называется классом или объектом (объект создается на основе класса). Каждый объект выполняет отдельную функцию. Он определяется своими свойствами, тем, что это такое и на что он способен. Объект может быть частью класса, который представляет собой набор похожих объектов.
- Скрытие информации : возможность защиты некоторых компонентов объекта от внешних сущностей. Это реализуется с помощью ключевых слов языка, позволяющих объявить переменную как частную или защищенную для класса-владельца.
- Наследование : способность класса расширять или отменять функциональность другого класса. Так называемый подкласс имеет целый раздел, который является производным (унаследованным) от суперкласса, а затем имеет свой собственный набор функций и данных.
- Интерфейс (объектно-ориентированное программирование) : возможность отложить реализацию метода. Возможность определять сигнатуры функций или методов без их реализации.
- Полиморфизм (в частности, Подтип ): Возможность заменять объект его подобъектами. Способность объекта-переменной содержать не только этот объект, но и все его подобъекты.
Концепции проектирования
- Определение объектов, создание диаграммы классов из концептуальной диаграммы : Обычно сопоставляют сущность с классом.
- Идентификация атрибутов.
- Использование шаблонов проектирования (если применимо): шаблон проектирования не является законченным проектом, это описание решение общей проблемы в контексте. Основное преимущество использования шаблона проектирования заключается в том, что его можно повторно использовать в нескольких приложениях. Его также можно рассматривать как шаблон решения проблемы, который можно использовать во многих различных ситуациях и / или приложениях. Шаблоны объектно-ориентированного проектирования обычно показывают взаимосвязи и взаимодействия между классами или объектами, без указания конечных классов или объектов приложения, которые участвуют.
- Определите структуру приложения (если применимо): каркас приложения является обычно набор библиотек или классов, которые используются для реализации стандартной структуры приложения для конкретной операционной системы. Объединение большого количества повторно используемого кода в фреймворк позволяет сэкономить много времени для разработчика, так как ему / ей не нужно переписывать большие объемы стандартного кода для каждого нового разрабатываемого приложения.
- Определить постоянные объекты / данные (если применимо): идентифицируйте объекты, которые должны существовать дольше, чем одно время выполнения приложения. Если используется реляционная база данных, спроектируйте отображение объектных отношений.
- Идентифицируйте и определите удаленные объекты (если применимо).
Выходные данные (результаты) объектно-ориентированного проектирования
- Диаграмма последовательности : Расширьте системную диаграмму последовательности, чтобы добавить определенные объекты, которые обрабатывают системные события.
- Диаграмма последовательности показывает в виде параллельных вертикальных линий различные процессы или объекты, которые существуют одновременно, а в виде горизонтальных стрелок - сообщения между ними обмениваются, в порядке их появления.
- Диаграмма классов : Диаграмма классов - это тип статической структуры UML диаграммы, которая описывает структуру системы, показывая классы системы, их атрибуты и отношения между классами. Сообщения и классы, идентифицированные при разработке диаграмм последовательностей, могут служить входными данными для автоматического создания глобальной диаграммы классов системы.
Некоторые принципы и стратегии проектирования
- Внедрение зависимостей : Основная идея заключается в что если объект зависит от наличия экземпляра какого-либо другого объекта, то необходимый объект «вводится» в зависимый объект; например, передача соединения с базой данных в качестве аргумента конструктору вместо его внутреннего создания.
- Принцип ациклических зависимостей : граф зависимостей пакетов или компонентов (степень детализации зависит от объема работы одного разработчика) не должно быть циклов. Это также упоминается как наличие направленного ациклического графа. Например, пакет C зависит от пакета B, который зависит от пакета A. Если пакет A также зависит от пакета C, то у вас будет цикл.
- Принцип повторного использования составных частей : отдавайте предпочтение полиморфной композиции объектов наследованию.
См. Также
Ссылки
Внешние ссылки
| Викискладе есть материалы, связанные с объектно-ориентированным дизайном. |