Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果使用PHP,则在UML中定义属性类型_Php_Class_Oop_Uml - Fatal编程技术网

如果使用PHP,则在UML中定义属性类型

如果使用PHP,则在UML中定义属性类型,php,class,oop,uml,Php,Class,Oop,Uml,随着我的PHP项目越来越大、越来越复杂,我希望使用UML来帮助我规划和设计更好的系统。在这一点上,我希望我在大学里多关注那些枯燥乏味的UML课程。无论如何,因为PHP是松散类型的,所以仍然需要在类中定义属性类型吗?这仅仅是为了符合UML标准,还是仅仅是我在为PHP开发类图时不需要担心的事情?当然,这对我来说并不是一场演出的阻碍,而是我或多或少在思考的事情 UML中的类图并不完全独立于所使用的语言。例如,在某些编程语言中可以有多重继承,而在其他编程语言中则不能。有些语言提供函数重载,有些语言提供运

随着我的PHP项目越来越大、越来越复杂,我希望使用UML来帮助我规划和设计更好的系统。在这一点上,我希望我在大学里多关注那些枯燥乏味的UML课程。无论如何,因为PHP是松散类型的,所以仍然需要在类中定义属性类型吗?这仅仅是为了符合UML标准,还是仅仅是我在为PHP开发类图时不需要担心的事情?当然,这对我来说并不是一场演出的阻碍,而是我或多或少在思考的事情

UML中的类图并不完全独立于所使用的语言。例如,在某些编程语言中可以有多重继承,而在其他编程语言中则不能。有些语言提供函数重载,有些语言提供运算符重载。这将影响你如何发展你的课程

在UML图中,您应该描述您已经制作或将要使用的内容。如果你想用的话,你可能不会用。如果您使用的是松散类型的属性,那么应该在类的设计中返回该属性。否则,人们会发现你所说的设计和所用的之间存在差异。这使得维护应用程序变得更加困难。始终记住,您不仅为自己创建UML,而且为以后维护您的应用程序的其他程序员创建UML

你的程序越大、越复杂,你就越需要imo的结构来使它工作。强类型是一种帮助设计师了解发生在哪里的方法。问题可能是: 强大的打字功能能帮助我更好地设计和维护更大、更复杂的PHP项目吗?如果是这样的话(在我看来是的),那么您最好使用强类型属性,从而将这些强类型属性添加到类中。
如果您确信强类型根本没有帮助,那么就不要在课堂上使用它,也不要在UML中进行描述。

从大学开始就没有做过UML,甚至在那时也没有做过很多,所以我的建议可能完全无效-但作为如何思考用PHP设计的系统的一般说明,不管它是松散类型的,你应该始终意识到所有变量的类型,所以我认为答案是它仍然是必要的。事实上,这就是我所倾向的。因为UML最终应该是独立于语言的。我只是想听听专家们对这件事的看法。我或多或少同意你的答案,因为我喜欢你关于可维护性的说法。我的团队现在对此有一些问题,在我的书中,无论采取什么措施使代码更易于阅读和维护都是很好的。谢谢你的洞察力,不客气。我也对不太一致的问题感兴趣。:-)除了UML,我还使用模拟测试来支持可维护性。当应用程序存在很长时间时,我更喜欢测试数据模型是否仍然与业务模型匹配。成功!