vut*_*ran 1 php oop design-patterns code-organization organization
这更多的是一个偏好问题,但我想知道人们在组织应用程序的目录树来管理类和子类时更喜欢什么。
给定文件名=类名
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
Foo.php
BarFoo.php
BazBarFoo.php
Post.php
MediaPost.php
- 延伸Post
ImageMediaPost.php
- 延伸MediaPost
AudioMediaPost.php
- 延伸MediaPost
请分享您的想法。
一般来说,子类化是一种反模式。它将类紧密耦合在一起,并可能导致一些难以维护的代码。拥有带有控制反转的干净接口更为合适。然后,您最终会得到只完成一项工作的小组件。我要回答你的问题,但我需要告诉你为什么我这么认为:
如果您经常使用子类化,那么仅此一点就会产生巨大的耦合。表示文件系统中的耦合也是另一层,这将使以后修改代码变得非常困难。基于类/接口的职责的命名空间和打包已被证明对我来说是最好的方法。
这是一篇关于如何思考责任的好文章:http://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html