组织类/子类文件的最佳实践

时间:2014-11-07 05:03:52

标签: php oop design-patterns organization code-organization

这是一个偏好问题,但我想知道人们在组织应用程序的目录树以管理类和子类时更喜欢什么。

给定文件名=类名

A - 文件夹

中的子类化

Foo.php

Foo/Bar.php //扩展Foo

Foo/Bar/Baz.php //扩展Foo\Bar

真实世界示例

Post.php

Post/Media.php - 扩展Post

Post/Media/Image.php - 扩展Post\Media

Post/Media/Audio.php - 扩展Post\Media

B - 在类名

中进行子类化

Foo.php

BarFoo.php

BazBarFoo.php

真实世界示例

Post.php

MediaPost.php - 扩展Post

ImageMediaPost.php - 扩展MediaPost

AudioMediaPost.php - 扩展MediaPost


请分享您的想法。

1 个答案:

答案 0 :(得分:4)

一般来说,子类化是一种反模式。它将类紧密地耦合在一起,并且可能导致一些难以维护的代码。拥有带控制反转的干净界面更为合适。然后,您将获得完成一项工作的小型组件,以及一项工作。我会回答你的问题,但我需要告诉你为什么我这么想:

如果你经常使用子类,那就会产生巨大的耦合。在文件系统中表示耦合也是另一层,这将使以后修改代码变得非常困难。 基于类/接口职责的命名空间和包装已被证明是对我而言的最佳方式。

关于如何思考责任,这是一篇很好的文章:http://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html