2010-08-04 4 views
4

Я долгое время программист на Java, и я недавно врывался в Django, чтобы узнать, что он предлагает.Django с точки зрения разработчика Java

Мне кажется, что Django не подходит для веб-разработчиков Java.

Я имею в виду, что в веб-фреймворках MVC Java обычно есть класс контроллера, который получает запрос, выполняет логику и затем перенаправляет запрос другому адресату.

Рельсы также следуют этой парадигме.

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

Так что, я думаю, Rails подходит веб-разработчики Java вкус и Django подходит для PHP.

Если вы веб-разработчик Java, то как вы видите Django?

Являетесь ли вы программистом на Java, который счастлив использовать Django?

(Я не недооцениваю Django, рамки Django неоспоримы).

ответ

4

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

Как разработчик Java, как это отличается от традиционного шаблона Java MVC? Это просто разные имена: Django uses "view" for what is traditionally (in Java-land) called a Controller, "template" for View и т. Д.

У вас нет доменных классов в приложении Java?

В Java-земля, когда у вас есть MVC веб-приложение, у вас есть такой же расщепление логики:

  • Вы пишете запрос логики обработки в контроллере
  • Вы представляете «домен "в модели классов/домене
  • вы пишете логику отображения в ваших шаблонах/классах

Я с трудом понимая, что вы думаете, отличается о Джанго за пределами имена.

+0

Django использует один файл для объектов домена, один файл для сбора обработчиков запросов. В Java вы пишете POJO или наследуете класс, в Python вы пишете простые методы, нет ощущения объектно-ориентированного мира. Я не чувствую, что есть расщепление или «чистый макет». Это то, что я имел в виду по процедурному характеру. – Chiron

+3

@El Gusto - никто не требует, чтобы вы записывали свои «классы домена» (по которым я предполагаю, что вы имеете в виду модели Django) в одном файле - на самом деле гораздо лучше их разделить. Я понятия не имею, что вы подразумеваете под Django, не чувствуя себя OO. Вы имеете в виду, что у вас нет объектно-ориентированных представлений? Если это так, вы можете (см. Http://stackoverflow.com/questions/742/class-views-in-django). –

+0

Да, извините, я имею в виду модели Django (извините, я новичок в земле Django). Как разделить модели на несколько файлов? say Я хочу, чтобы каждая модель имела свой собственный файл. Не все модели должны находиться в models.py? – Chiron

0

Мне бы пришлось по-настоящему взглянуть на это, чтобы судить, но просто продолжая свое описание, это очень похоже на Struts или JSF. Мне, возможно, придется вникать в это, спасибо за предложение.

+0

Django - это MVC-каркас (или MTV в культуре Django), поэтому да, он пахнет Struts, но не JSF, JSF - это компонентная среда. – Chiron

Смежные вопросы