创建并返回另一个不包含它的类的类的UML表示形式是什么?

Lui*_*tin 2 php mysql 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);
    }

}
Run Code Online (Sandbox Code Playgroud)

请注意,据我所知,没有组成/聚合/关联,因为没有一个类包含另一个。因此,我不确定如何表示这种关系。我需要这样做以使一切井井有条,并对系统有所了解。

Rya*_*n J 5

您可以使用单向用法(实例化)关系来表示UML中的关系。

根据您的工具,图形的绘制可能有所不同,但这是一个非常简单的示例,显示了您想要的内容。

在此处输入图片说明

有关类型关系的描述,请参见此参考

供参考,以下是序列图可能显示的内容(详细信息显然受到限制)

在此处输入图片说明