Я использую Django в течение многих лет (начиная с Django 1.2). и в прошлом я использовал различные типы веб-фреймворков (например, CakePHP, Rails, ASP.NET MVC и некоторые другие полнотекстовые рамки). Django не был моей первой основой.Django-like Framework Pattern
Различные рамки имеют разницу в их подходах и преимуществах. Есть определенная часть тех структур, которые мне нравятся, а я нет. В этом контексте я хотел бы более подробно рассмотреть дизайн Django Framework.
После перехода на Django мне нравится, как он проектирует свою инфраструктуру. Изучая новый язык (например, Go, Scala, Ruby, Haskell), я пытаюсь найти структуру, которая имеет некоторое сходство в своем дизайне, особенно те, о которых я говорил позже.
Ниже приведены Джанго рамки дизайнерское решение 2, что очень отличается:
- это поощрять вставных приложения или приложения повторного использования. Следовательно:
- отходя от monolithic design by Jacob Kaplan-Moss
- с использованием нескольких приложений для create a full feature site, without any model or logic
- Написание проекта менее Джанго упоминается в Practical Django Projects by James Bennett
- использует Model View Template вместо классического MVC:
- указан в FAQ.
- вид описывает, какие данные представлены
- шаблон описывает, как данные представлены
- представлен вид, как правило делегатов на шаблон
- контроллер, вероятно, сама основа: механизм, который отправляет запрос на соответствующее представление в соответствии с конфигурацией URL-адреса Django.
Я бы не поверил, что Джанго пионерские такие функции. Я полагал, что эта схема очень распространена в Framework Design. Просто я понятия не имею, что называется (дизайн) шаблона? Эта концепция очень полезна для применения в других рамках. Я полагал, что знание названия шаблона может помочь мне понять или даже создать новую структуру на разных языках с той же концепцией.
В настоящее время существует множество веб-каркасов, большинство из которых соответствуют классическому шаблону MVC. Некоторые используют концепцию плагина для добавления определенных возможностей. Однако плагин разрешает повторное использование в разных подходах в зависимости от контекста.
Таким образом, я попытался изучить столько фреймов, сколько мог, чтобы найти альтернативную структуру на разных языках. Надеюсь, что я смогу найти образец, который использует Django.Однако мне очень трудно узнать all of them. На самом деле, я пока не нашел его.
Я ищу:
- Django like framework in 'ruby'
- Django like framework in 'Java'
- Джанго, как основы в 'Haskell'
- Джанго, как основы в 'Go-Lang'
- Джанго, как основы в «Scala»
К сожалению, ни один из них на самом деле не выдвигает на первый план концепцию, которая меня интересует.
В этом Q & A, мне хотелось бы знать, что люди называют такой структурой? (Или какой шаблон использует Django?) Было бы неплохо, если бы вы могли дать ссылки в этом дизайне, которые могли бы использовать и другие рамки.
Не попадайте в это, как на сравнение. По правде говоря, я искал этот образец, но я обнаружил, что не каждый язык дает такой же опыт и выразительную силу, как и другой. PHP отличается от рубинов, а Scala отличается от Go. Их рамки будут иными. Django уникален тем, чем является. –
@FanisDespoudis, Согласитесь, мы не должны находить единую инфраструктуру истинности, у разных фреймов разные возможности. Они также лучше работают в разных областях. Просто этот вопрос предназначен для изучения шаблона, чтобы мы могли обратиться в другой домен. – Yeo
Я не уверен, почему эти downvoters должны снизить этот вопрос. Надеюсь, мы не будем сравнивать, какие рамки лучше. Но, скорее, мы узнаем, что мы можем из разных рамок. – Yeo