我试图了解抽象工厂的设计模式.我遇到了很多麻烦.我试图使用以下示例来开发UML类图:
汽车设计师可以设计许多不同类型的汽车.汽车可以有两扇门,也可以有四扇门.汽车可以是四轮驱动,也可以是两轮驱动.汽车由不同的部件组成:车轮,车门,发动机,变速箱等.每个部件都有不同的操作:例如,变速器可以有first_gear(),second_gear(),third_gear(),fourth_gear(),reverse() ,中立().
汽车零件(如上所列)可在家庭中使用:本田,吉普,福特等.
使用抽象工厂设计方法,我需要开发一个软件系统,以便系统可以轻松地将汽车从一个家庭转换到另一个家庭.
这是我到目前为止所想的:拥有一个工厂和多个抽象工厂.因此,抽象工厂创建模型,而工厂创建零件......
有人可以帮忙吗?谢谢..
我得到了类名,属性和方法.
我不确定他们之间的关系是什么,所以如果有人能在我开始画画之前纠正我,我会很感激:
游戏与体育有一对多的关系.体育与赛事有一对多的关系.活动与Race有一对多的关系.
而Heat和Final是Race的子类.
你怎么看?
我正在编写一个使用某些GoogleMaps API的程序.如何在我的班级图中显示这个?
谢谢.
试图将我的设计导出到PDF/PNG/GIF或其他任何东西,但我不知道如何和互联网不是很有帮助.不明白为什么我不能只是右键单击导出:(任何帮助非常感谢欢呼,我使用Visual Studio 2013终极.
我需要绘制一个由以下语句组成的 UML 类图。
一个房子有一个地址,由几个房间组成。每个房间都有大小。它可以是卧室、客厅或厨房。一所房子至少由每种房间中的一个组成。
最后一个语句是一个约束,我需要将它添加到我的图表中。
UPD:整个任务如下。
绘制一个 UML 类图,准确表示以下场景: 一个家庭由任意数量的孩子和一两个父母组成。每个家庭成员都是一个有名字和年龄的人。孩子们可以玩游戏,父母可以上班,他们可以在厨房做饭。一个家庭住在一个有地址的房子里,房子里有几个房间。任意数量的家庭可以住在一所房子里。每个房间都有大小。它可以是卧室、客厅或厨房。一所房子至少由每种房间中的一个组成。任意数量的人睡在卧室里。
因为我正在开发一个将UML类图转换为NoSQL cassandra数据库的新项目.我很难找到类似于关系模型的基本翻译规则.正如我在cassandra文档中读到的那样,它是面向查询的建模.但是在实现之前是否存在任何通用规则概念.请帮忙
假设我有以下代码:
class A {
public:
void doSomething(B* b);
}
class B {
}
Run Code Online (Sandbox Code Playgroud)
我将如何在 UML 图中描述这一点?我的第一个想法是 A 使用 B,所以从 A 到 B 应该有一条虚线。 但是在一些学校论文中(这是学校作业报告中很小的一部分),他们似乎使用了聚合符号(空菱形和实线)。
这对我来说似乎不对——如果 A 实际上包含一个指向 B 的指针作为成员,那似乎是对的。但是当只有某些方法使用指向 B 的指针,并且不将其存储在任何成员变量中时,这似乎是错误的。
这里有什么?
(我可以问我的老师,但他们通常需要很长时间才能回答此类问题……老实说,我更信任 Stackoverflow 的集体智囊团 :))
我试图理解如何绘制扩展一个类并实现另一个类的程序的UML图.我已经制作了这个草图,但我不确定它是否正确.
A是class
具有一些字段和方法的,B是interface
具有一些方法的.最后C extending
来自A和implements
B.(就像公共类C在Java中扩展A实现B)
我正在为作业设计一个类图。在这个设计中,我使用一个名为 的单独类Currency
来定义货币值及其功能。至少有四个其他类必须使用这个Currency
类。
Currency
班级到所有其他班级的关系(连接线)?在 Martin Fowler 的 UML Distilled 的“双向关联”部分,他说:
在编程语言中实现双向关联通常有点棘手,因为您必须确保两个属性保持同步。使用 C#,我使用以下代码来实现双向关联:
书中的代码
class Car...
public Person Owner {
get {return _owner;}
set {
if (_owner != null) _owner.friendCars().Remove(this);
_owner = value;
if (_owner != null) _owner.friendCars().Add(this);
}
}
private Person _owner;
...
class Person ...
public IList Cars {
get {return ArrayList.ReadOnly(_cars);}
}
public void AddCar(Car arg) {
arg.Owner = this;
}
private IList _cars = new ArrayList();
internal IList friendCars() {
//should only be used by Car.Owner
return _cars;
}
.... …
Run Code Online (Sandbox Code Playgroud) class-diagram ×10
uml ×10
oop ×2
aggregation ×1
api ×1
c++ ×1
cassandra ×1
class-design ×1
nosql ×1
python ×1