Что такое представление UML для класса, который создает и возвращает другой класс, не содержащий его?

Я не уверен, как представить этот сценарий в диаграмме классов UML.

Пример того, что я имею в виду:

Типичный класс Mysql, который обрабатывает соединение с БД, но делегирует конструкцию и выполнение оператора другому классу с именем MysqlStatement, так что у класса Mysql есть один метод с именем Mysql :: prepare (), который возвращает класс Mysqlstatement (не содержащий его), например так:

    class Mysql extends DB_Connection {

public function connect($user, $pass, $dbhost, $dbname)
{
$this->dbh = mysql_connect($dbhost, $user, $pass);
// ...
}

/**
* Connects to the DB, then creates and returns the statement object
* @param string $query
* @return MysqlStatement
*/
public function prepare($query)
{
if (! $this->dbh) $this->connect();
return new MysqlStatement($this->dbh, $query);
}

}

Обратите внимание, что, насколько я знаю, нет композиции / агрегации / ассоциации, потому что ни один класс не содержит другой. Поэтому я не уверен, как представить эти отношения. Мне нужно сделать это, чтобы привести все в порядок и получить представление о системе.

1

Решение

Вы можете представить отношение в UML, используя однонаправленное использование (создание экземпляра).

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

введите описание изображения здесь

Увидеть эта ссылка для описания этого типа отношений.

Для справки вот что может показать диаграмма последовательности (детали ограничены, очевидно)

введите описание изображения здесь

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]