лучшая практика для организации ваших файлов классов / подклассов

Это скорее вопрос предпочтения, но я хочу знать, что люди предпочитают при организации дерева каталогов своего приложения для управления классами и подклассами.

учитывая имя файла = имя класса

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


Пожалуйста, поделитесь своими мыслями.

2

Решение

Вообще говоря, создание подклассов — это анти-паттерн. Он тесно связывает классы вместе и может привести к некоторому сложному в обслуживании коду. Гораздо уместнее иметь чистые интерфейсы с инверсией управления. После этого вы получите небольшие компоненты, которые выполняют одну работу и только одну. Я собираюсь ответить на ваш вопрос, но мне нужно было сказать вам, почему я так думаю:

Если вы часто используете подклассы, это само по себе создает огромную связь. Представление о том, что связывание в файловой системе — это еще один уровень, который потом очень затруднит изменение вашего кода.
Пространство имен и упаковка, основанные на обязанностях классов / интерфейсов, оказались для меня лучшим способом.

Это хорошая статья о том, как думать об обязанностях: http://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]