Как я могу указать, что метод вернет коллекцию объектов в UML? Есть ли лучший способ объяснить отношения, чем иметь класс коллекции как возвращаемый тип?UML - метод объекта Возвращает коллекцию
ответ
Вы можете рассмотреть возможность использования «ассоциации». Существует три основных типа ассоциации: состав, агрегация и «нормальная» ассоциация. Каждый из них выражает другую экзистенциальную зависимость целого с частью и наоборот.
Обычно ассоциации выражаются путем соединения двух классов по строке. Состав и агрегация имеют символ алмаза на стороне композита/агрегата. Состав/агрегат состоит из одной или нескольких частей. (См wiki-article)
Пример:
Immagine у вас есть два класса: библиотека, книги. Мы можем сказать, что библиотека - это целое и запомнила эту часть. Мы могли бы обозначить это так (в ASCII, пожалуйста, google для реальных диаграмм).
Библиотека (Совокупные) <> --- Книга (часть)
Если вы хотите, чтобы выразить эти отношения ассоциации будет вашим другом.
EDIT:
Как я уже сказал в комментариях, я не думаю, что есть специальное обозначение для возвращенных коллекций. Тем не менее, вы правы, возвращая коллекцию, это родственный язык. Но вы можете подумать о возврате массива (String[]
), который является более общим способом представления набора значений и должен быть более независимым от языка, чем коллекция. Это зависит от того, как он его реализует. Он может использовать Collection
, вектор C++ STL ... точка: возвращает набор значений.
Правильно, но как бы я указал, что метод возвращает эту связь? – derekerdmann
Обычно метод определяет __behaviour__ класса. Таким образом, нет способа выразить, что метод возвращает коллекцию с использованием диаграммы классов (за исключением указания его возвращаемого значения). – Simon
Итак, я бы просто сказал, что метод возвращает Collection
Хм, это правда, что в диаграммах классов UML нет явного способа выражения типов коллекций. Я прочитал книгу, в которой они критиковали UML за это, но они упомянули, что в некоторых версиях UML в версиях UML существуют типы коллекций. Другое дело - язык ограничений объектов (OCL), который интегрирован с UML (как стандарт OMG) и имеет свои собственные типы коллекций с хорошими операциями.
Я подошел к этому немного поздно, так как я искал ответ на аналогичный вопрос. Я пишу это, если кто-то ищет аналогичный ответ.
Вы хотите указать, что метод возвращает коллекцию определенного типа? Если это так, для метода вы должны установить тип возвращаемого параметра и кратность возвращаемого параметра в 0 .. * или 1 .. *. Это указывает на то, что метод возвращает указанный тип и что он имеет любую множественность, о которой вы говорите.
E.g. используя библиотеку <> Например, предположим, что в библиотеке есть метод, называемый GetBooks, который принимает строковый параметр, имя автора и возвращает коллекцию экземпляров книги. UML будет выглядеть следующим образом:
Библиотека + GetBooks (AUTHORNAME: String): книга [0 .. *]
Ваш UML инструмент должен поддерживать диаграмм этого; Я использую Magic Draw. Этот UML утверждает, что GetBooks возвращает 0 или много экземпляров книги. Теперь программисту предстоит решить, как реализовать возвращаемый параметр на языке реализации (как указано выше Саймоном).
Существует косвенный способ представления этого.
Вы можете определить другой составной класс, который имеет составное отношение 1 .. * с вашим конкретным типом возвращаемого значения и использовать этот новый составной класс в качестве возвращаемого типа.
См., Например, если вы хотите вернуть коллекцию класса Book, создайте новый класс Books с ассоциацией 1 .. * с Book и используйте класс Books в качестве возвращаемого типа.
- 1. JAX-RS возвращает коллекцию вашего пользовательского объекта?
- 2. simple odata Метод FindEntriesAsync не возвращает коллекцию
- 3. Куда поместить метод, который возвращает коллекцию
- 4. nhibernate возвращает пустую коллекцию
- 5. Метод объекта Javascript возвращает неопределенные?
- 6. Метод Laravel 'where' изменяет коллекцию
- 7. Метод шаблона в uml
- 8. NavigationProperty.GetDependentProperties() возвращает пустую коллекцию
- 9. JMockit возвращает коллекцию
- 10. $ meteor.collection не возвращает коллекцию
- 11. Moq.Setup не возвращает ожидаемую коллекцию?
- 12. WCF возвращает пустую персонализированную коллекцию
- 13. Добавление объекта в коллекцию
- 14. Преобразование объекта в коллекцию
- 15. Инициализировать коллекцию внутри объекта?
- 16. Получить коллекцию с объекта
- 17. добавление объекта в коллекцию
- 18. Метод, возвращающий коллекцию, возвращает массив, когда он вызывается отражением?
- 19. Как сделать мой метод возвращает коллекцию <Character> вместо
- 20. UML-диаграмма Запрос объекта списка
- 21. Показать рекурсивный метод с UML
- 22. Метод фабрики Уточнение диаграммы UML
- 23. Почему метод getter не возвращает атрибут объекта?
- 24. Какой экземпляр объекта возвращает этот метод?
- 25. Метод иногда возвращает true, иногда возвращает экземпляр объекта
- 26. функция Python3.5, что вызывает метод объекта возвращает None вместо объекта
- 27. Ember DS.Store.findAll() возвращает пустую коллекцию
- 28. GetUnobtrusiveValidationAttributes всегда возвращает пустую коллекцию
- 29. Get-AzureAutomationAccount возвращает пустую коллекцию
- 30. C# Regex: возвращает коллекцию результатов
Нет реальной альтернативы использованию возвращаемых типов, как описано в ответах. Но, возможно, тег «pattern» немного вводит в заблуждение. – ShiDoiSi