Что такое декомпозиция объекта? - PullRequest
11 голосов
/ 13 января 2011

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

Это что-то большее, чем разбить дизайн на объекты?Если нет, любое описание будет оценено.

Заранее спасибо

Ответы [ 3 ]

15 голосов
/ 13 января 2011

Представь, у тебя есть автомобильный объект.Это очень большой объект, его трудно поддерживать.Вы разбиваете эти объекты на меньшие, отвечающие за некоторую часть проблемной области:

  • Engine
  • Сabin
  • Boot
  • ...

Это декомпозиция, каждый из этих объектов может быть снова разбит, как Каюта состоит из доски, Сидит, Колесо ... Или, возможно, доска состоит из Колеса и других частей.Etc.

4 голосов
/ 13 января 2011

Я думаю, что вы в основном все правильно поняли - сопоставляя вещи "реального мира", с которыми вы будете работать, представлениями как объектами в вашем коде.

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

2 голосов
/ 15 июня 2014

Говоря «состав», в C ++ это означает, что вы устанавливаете объект из класса, который я назвал «A» (возможно, содержащий три элемента данных, например три встроенных типа как целые числа, чтобы не усложнять задачу), в другой класс, которыйЯ назвал B (и, возможно, вместе с другими членами данных, принадлежащими к классу B).

В свою очередь, моя настоящая головоломка - выяснить, как разложить этот объект из класса A, который был включен в класс B.50% времени (не ссылаясь на этот сайт, потому что это мое первое активное участие), позвольте мне уйти, потому что я знаю, что у меня не будет конкретной помощи ... поэтому позвольте мне покопаться в моей коллекции ростом в два футаС ++ книги и учеба

...