Оправдано ли когда-нибудь писать довольно большое, ориентированное на базы данных PHP-приложение процедурно и без MVC? - PullRequest
3 голосов
/ 27 ноября 2009

Извините за довольно субъективный вопрос, но я надеялся получить мнение кого-то более опытного, чем я, по этому вопросу.

Я довольно далеко в PHP-приложении, управляемом ajax, и, хотя у меня довольно хорошее разделение между разметкой и поведением на стороне клиента, мой PHP постепенно становится чем-то вроде беспорядка. Я все делаю хорошо, пока разбиваю его на части и структурирую таким образом, чтобы у меня не было слишком много повторений, но я определенно начинаю понимать, как это может стать бременем с достаточным количеством кода. Итак, я читал об ООП и MVC, и сейчас я пытаюсь решить, стоит ли рефакторинг для CodeIgniter или Kohana. Интуитивно кажется, что это будет больше работы, чем стоит, но я знаю, что через некоторое время я могу спеть другую мелодию.

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

Ответы [ 2 ]

7 голосов
/ 27 ноября 2009

MVC и ООП - это всего лишь "пути", среди прочего. Да, они великолепны, способствуют хорошему структурированию кода и часто используются, но это не единственный способ разработки приложения.

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

Я, лично, пошел бы с MVC и / или ООП для почти любого вида нового приложения; только потому, что я знаю их, и они полезны - но они не требуются, когда дело доходит до разработки великолепного приложения: они помогают, но вы все равно можете иметь какой-то дерьмовый код, если вы не ведете себя при программировании ^^

1 голос
/ 27 ноября 2009

Я не могу вспомнить, когда в последний раз я видел какое-то большое серьезное приложение, которое было целиком в одной парадигме программирования, даже ООП. (То есть, если «объектно-ориентированный» был единым целым.)

Я бы не стал беспокоиться, если бы программа не использовала ООП, но я был бы немного обеспокоен, если бы она использовала только одну парадигму. (Вероятно, я был бы более подозрительным, если бы он вообще не использовал функциональное программирование.) Ни одна крупная задача не является полностью однородной, поэтому, если вы пытаетесь использовать одну парадигму для всей программы, она, вероятно, отлично подходит в некоторых областях и плохо вписывается в других.

...