Другие языки программирования и технологии

Здравствуйте... есть проект-социальная сеть ...вопрос состоит в том как организовать работу классов на сайте? имеется вви

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

1. Есть стандартный ЖЦПО - жизненный цикл программного обеспечения. Включает в себя этапы
-анализ и проектирование
-- структурное проектирование
-- модульное проектирование
-кодирование
-отладка и тестирование
-сопровождение
Из сказанного тобой следует, что даже анализ предметной области ты не выполнял, а проект имеет сложность заведомо выше средней, особенно для одного человека (если ты работаешь один) . В таком проекте браться за код, не имея моделей (хорошо бы не только объектную архитектуру, а полный комплект UML - диаграмм, описывающих все аспекты взаимодействия всех компонентов системы) - дело гиблое. Запутаешься во взаимосвязях очень быстро.

2. Если ты выбрал объектно-ориентированный подход (а судя по слову КЛАСС ты выбрал именно его!) , то на этапе проектирования хорошо бы применить паттерны проектирования - ты бы получил очень эффективные решения, и, в частности, избежал бы той проблемы, которую в вопросе ставишь: правильное применение шаблонов проектирования автоматически приводит к решениям, в которых проблемы с определением Агентов, Обязанностей и Ответственности просто нет - шаблоны изначально создавались так, что решение этой проблемы есть основная идея, положенная в их основу.

3. Начав проект с нуля, и выполняя его по порядку, не стремись сразу после проектирования писать код. Потрать некоторое время на выбор ЯП. PHP - распространён, но код с ростом функциональности будет пухнуть, как на дрожжах, и в конце концов ты очень скоро утратишь над системой контроль, не сможешь её сопровождать. С этой позиции гибкий JAVA2, например, - более приятный вариант. Выбирай подходящую тебе технологию не столько по тому, что ты уже знаешь, сколько по тому, что тебе понадобится для хорошего решения конкретных задач.

А чтобы конкретные задачи появились - брось текущий проект, и начни его выполнять сначала, и не отступай от ЖЦПО. Это тебе и время, и нервы сохранит, и качество работы повысит.
Владимир Степаненко
Владимир Степаненко
2 926
Лучший ответ