Один длинный класс или несколько более коротких классов?

В PHP есть ли влияние производительности на использование одного длинного класса с множеством функций в нем? Или целесообразно использовать многие небольшие классы и называть их отдельно, когда это необходимо?

Я новичок в OOPS и, пожалуйста, игнорируйте любую глупость в вопросе. Спасибо.

Ответ 1

Желательно не думать о производительности, прежде чем у вас есть код. С точки зрения ремонтопригодности и понимания, конечно, более мелкие классы с меньшими методами превосходят. (см. Принцип единой ответственности)

Когда вам нужно оптимизировать, вы действительно можете собрать (автоматически) весь свой код в один большой файл и сэкономить время на include-s.

Ответ 2

Во-первых, подумайте о чистом дизайне ООП.

Очень длинные классы с множеством методов и свойств очень трудно понять.

Набор хорошо продуманных классов со значимыми именами классов, именами методов и именами переменных очень легко понять, особенно когда речь заходит о периоде обслуживания.

Ответ 3

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

Ответ 4

Вы можете и должны помещать вещи в один и тот же класс, пока они напрямую связаны с логикой класса, который вы создаете. Размер класса не означает многого, если вы следуете концепциям ООП.

Ответ 5

Лично для меня я бы предпочел разбить классы на меньшие файлы на основе того, для чего они предназначены. Если бы такие бизнес-объекты, которые имели бы "customer.class.php" "account.class.php" и т.д., Были бы моими предпочтениями.

В большинстве проектов, над которыми я работал, это было так, а затем более крупный "lib" или "общий" файл, который включает в себя множество различных функций, которые используются повсеместно.

Ответ 6

Для записи размер не является важной частью для рассмотрения в классе. Ключ к классу - это зависимости классов.

Например, класс, который зависит от базы данных, должен быть разделен в специальном классе, таком как класс репозитория/Дао/Даль/Персистенция.