Objective-C和UML建模

10
我们都知道Objective-C方法头比标准Java方法头包含更多信息...这在使用UML进行建模时会带来问题...一些方法名无法控制地变得非常长...在UML类图中清晰地建模这些方法的最佳方式是什么?你可以压缩方法名,或者为它们编写一些Java风格的头吗?我正在为一个软件系统撰写报告,我被卡住了...
1个回答

4

我认为在某些情况下,Objective-C头文件携带的总体信息较少,但它们可以更清晰地显示接口。

例如 - 使用现代Objective-C运行时(适用于Mac OS和iOS),您不需要在头文件中声明私有iVars或私有方法 - 它们可以移至实现文件中的类别。甚至可以在实现中将属性重新声明为readwrite,而在头文件中声明为readonly

这意味着类中的内容比头文件显示的要多得多,但公共接口与私有实现分开定义 - 这是UML图表中的好事。

至于长方法名 - 那是Objective-C的惯例。你可以喜欢它或讨厌它(我个人很喜欢)。但在编写方法时,它们并不显示其参数。例如:假设您有一个声明为:

- (NSString *)resultStringWithOptions:(NSDictionary *)options withCharacterSet(NSCharacterSet *)charSet error:(NSError **)error:

这个方法的实际名称是:

resultStringWithOptions:withCharacterSet:error:

哪个更短。

你说得没错,但是类图可能会令人困惑,有时必须包含类型以帮助清晰地描述系统的功能和架构。在这种情况下,方法名称会变得更长,特别是对于具有两个以上参数的方法! - user559142

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接