Где хранить интерфейсы,абстрактные классы, кастомные классы?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
i-programmer
Сообщения: 68
Зарегистрирован: 2015.08.24, 18:50

Где хранить интерфейсы,абстрактные классы, кастомные классы?

Сообщение i-programmer »

Допустим для одного конкретного места в приложении я буду строить дерево. Понимаю, что оно состоит из узлов (Node), которые имеют сходные свойства и методы. Или не обязательно дерево, но тоже что-то такое, что можно выделить в некие абстракции (в абстрактную фабрику, возможно или имеющий структуру какого-либо паттерна проектирования).

Где правильно располагать такие классы для построения абстракции или те, которые буду использовать как целую сущность? Банально выделить папку "classes" со своим неймспейсом? Или что-то более адекватное и правильное есть?

P.S. Выделять в компонент нет смысла, ибо применение будет не повсеместно по приложению (есть свойства объекта Node присущие именно этому месту в приложении, на которое будет строиться), а компонент - это, скорее, нечто универсальное, что даже не зависит в каком приложении использовать.

Аватара пользователя
samdark
Администратор
Сообщения: 9333
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?

Сообщение samdark »

Есть адекватное и правильное - называть по смыслу. То есть если это, например, дерево каталога, то складывать классы в catalogue. Если это дерево категорий, то в categories.

i-programmer
Сообщения: 68
Зарегистрирован: 2015.08.24, 18:50

Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?

Сообщение i-programmer »

samdark писал(а):
2019.06.08, 22:17
Есть адекватное и правильное - называть по смыслу. То есть если это, например, дерево каталога, то складывать классы в catalogue. Если это дерево категорий, то в categories.
а все эти папки делать в корне или где-то еще?

Аватара пользователя
samdark
Администратор
Сообщения: 9333
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?

Сообщение samdark »

Можно и в корне. Как вам удобней.

i-programmer
Сообщения: 68
Зарегистрирован: 2015.08.24, 18:50

Re: Где хранить интерфейсы,абстрактные классы, кастомные классы?

Сообщение i-programmer »

Нашел статьи Дмитрия Елисеева https://elisdn.ru/blog/104/domain-entities-modelling и интересную дискуссию в разделе Архитектура viewtopic.php?f=34&t=42788&start=20#p212705

Вот это мне скорее более по душе. Буду пробовать отталкиваться от этого вообще в целом.

Ответить