Понимание UML шаблона разработки DoFactory - декоратор

Cppunit является прямым эквивалентом Junit для приложений C++ http://cppunit.sourceforge.net/cppunit-wiki

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

я закончил тем, что делал их кодирующие гимнастику, поскольку я интегрировал тесты в унаследованный код как бы то ни было. Если Вы начинаете с целью поблочного тестирования, лучший дизайн может быть простым.

5
задан noob.spt 20 November 2009 в 22:20
поделиться

2 ответа

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

На практике грань между агрегацией и композицией может быть размытой, и часто не имеет большого значения, выберете ли вы тот или иной объект, особенно если вы относитесь к схемам как к наброскам.

обычно это означает, что объект становится владельцем своих компонентов. В данной ситуации дело обстоит иначе, потому что декоратор не владеет декорированным объектом. Более того, вы можете удалить декоратор, не удаляя декорированный объект.

На практике грань между агрегацией и композицией может быть размытой, и часто не имеет большого значения, выберете ли вы тот или иной объект, особенно если вы относитесь к схемам как к наброскам.

обычно это означает, что объект становится владельцем своих компонентов. В данной ситуации дело обстоит иначе, потому что декоратор не владеет декорированным объектом. Более того, вы можете удалить декоратор, не удаляя декорированный объект.

На практике грань между агрегацией и композицией может быть размытой, и часто не имеет большого значения, выберете ли вы тот или иной объект, особенно если вы относитесь к схемам как к наброскам.

7
ответ дан 14 December 2019 в 01:10
поделиться

В основном потому, что у вас может быть несколько декораторов для компонента. Из википедии на агрегации :

Различия между составом и Агрегация

Вся композиция должна иметь кратность 0..1 или 1, указывающая что часть должна быть только для одного все. Вся агрегация может иметь любую множественность.

также

Композиция обычно имеет сильную жизнь циклическая зависимость между экземплярами контейнерный класс и экземпляры содержащийся класс (ы): Если контейнер уничтожается, обычно каждый экземпляр, который он содержит, уничтожен также.

обратите внимание на использование слова «обычно».

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

]
2
ответ дан 14 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: