Один длинный класс или несколько более коротких классов?
В PHP есть ли влияние производительности на использование одного длинного класса с множеством функций в нем? Или целесообразно использовать многие небольшие классы и называть их отдельно, когда это необходимо?
Я новичок в OOPS и, пожалуйста, игнорируйте любую глупость в вопросе. Спасибо.
Ответы
Ответ 1
Желательно не думать о производительности, прежде чем у вас есть код. С точки зрения ремонтопригодности и понимания, конечно, более мелкие классы с меньшими методами превосходят. (см. Принцип единой ответственности)
Когда вам нужно оптимизировать, вы действительно можете собрать (автоматически) весь свой код в один большой файл и сэкономить время на include-s.
Ответ 2
Во-первых, подумайте о чистом дизайне ООП.
Очень длинные классы с множеством методов и свойств очень трудно понять.
Набор хорошо продуманных классов со значимыми именами классов, именами методов и именами переменных очень легко понять, особенно когда речь заходит о периоде обслуживания.
Ответ 3
В общем, люди склонны делать слишком большие и сложные классы - это потому, что часто бывает трудно увидеть, где лежат границы сплоченности. Поэтому, когда вы начинаете и немного не уверены, лучше ошибиться на стороне их слишком малой: вы всегда можете объединить более мелкие классы в более крупный... часто гораздо сложнее реорганизовать большой класс на несколько небольших из них.
Ответ 4
Вы можете и должны помещать вещи в один и тот же класс, пока они напрямую связаны с логикой класса, который вы создаете. Размер класса не означает многого, если вы следуете концепциям ООП.
Ответ 5
Лично для меня я бы предпочел разбить классы на меньшие файлы на основе того, для чего они предназначены. Если бы такие бизнес-объекты, которые имели бы "customer.class.php" "account.class.php" и т.д., Были бы моими предпочтениями.
В большинстве проектов, над которыми я работал, это было так, а затем более крупный "lib" или "общий" файл, который включает в себя множество различных функций, которые используются повсеместно.
Ответ 6
Для записи размер не является важной частью для рассмотрения в классе. Ключ к классу - это зависимости классов.
Например, класс, который зависит от базы данных, должен быть разделен в специальном классе, таком как класс репозитория/Дао/Даль/Персистенция.