这更多的是一个偏好问题,但我想知道人们在组织应用程序的目录树以管理类和子类时更喜欢什么。
给定文件名=类名
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
请分享你的想法。
一般来说,子类化是一种反模式。它将类紧密地耦合在一起,并可能导致一些难以维护的代码。有一个干净的接口和反向控制更合适。然后,您将得到只做一项工作的小组件。虽然我会回答你的问题,但我需要告诉你我为什么这么想:
如果您大量使用子类化,那么仅此一项就会产生巨大的耦合。在文件系统中表示这种耦合也是另一层,这将使以后很难修改代码。基于类/接口职责的名称间隔和封装已被证明是我的最佳方式
这是一篇关于如何思考责任的好文章:http://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html