avalanche

Скриншот программы:
avalanche
Детали программы:
Версия: 0.3.0
Дата загрузки: 14 Apr 15
Разработчик: Eduardo Naufel Schettino
Тип распространения: Бесплатная
Популярность: 1

Rating: nan/5 (Total Votes: 0)

Лавина веб-фреймворк на Python построен на вершине NBSP webapp2 &;. Он использует jinja2 как система шаблонов по умолчанию и не включает в себя каких-либо настойчивость и слой.
цели Avalanche (или почему другой веб-фреймворк?)
Лавина дизайн акцент на проверяемости и повторного использования.
Конечно лавина не творить чудеса. Тестируемость и повторного использования, в конечном счете, зависит от кода приложения. Но рамки играют большую роль по настройке правильный путь.
Цели представлены ниже, после прочтения дизайн и учебник будет ясно, как эти цели будут достигнуты.
Завещательная право- и дееспособность
Лавина была разработана таким образом, что это делает возможным (проще для вас), чтобы написать хорошие юнит-тестов для вашего кода. Это не только делает его легко писать тесты. Блок-тест должен:
- Дать четкое сообщение об ошибке, когда оно не
- Сбой только тогда, когда функция под теста разбивается, не на каждом изменении кода
- быть быстрым
Повторное
Небольшая каждый рамки утверждает, что возможность повторного использования является одной из их целей дизайна. Здесь "повторного использования" означает исходного кода многократного использования.
Многие структуры обеспечивают некоторые механизмы для многократного использования / plugable субприложений однако это не всегда легко повторно использовать эти приложения исходный код в случае вам нужно настроить / изменить. Plugable приложения также очень важная особенность, но, как сейчас лавина не имеет поддержки для этого.
Это не должно быть возможным, чтобы написать повторно используемого кода, код должен быть повторно использован на первый раз вы пишете его. Вы не должны быть посоветовали написать код в одном пути, и чем позже придется изменить его, чтобы сделать его повторного использования. То есть она против говоря "Используйте вид (обработчик) функции". А чем ... ", если вы хотите, чтобы мнения, которые будут повторно использоваться конвертировать их в видом на базе классов!".
Детали проекта
- Сайт / документы
- Это проект с открытым исходным кодом (MIT лицензия) написано в Python.
- Скачать с PyPi
- Управление проектами (ошибка трекера, художественные запросы и исходный код) на BitBucket.
- Вопросы и предложения по группе Google.
Лавина Дизайн
Предупреждение
Лавина на ранних стадиях развития (альфа). В API может измениться в будущем, и нет никакой гарантии, что будет держать совместимость.
за MVC (модель-представление-контроллер)
MVC является обеспечение архитектурной модели создан с целью изолировать "логику домена" из пользовательского интерфейса. Это разделение озабоченность позволяет создавать лучшего кода приложения. Эта модель была очень успешной для многих структур настольных и так служил ссылкой на создании веб-фреймворков. Проблема в том, что эта архитектура не может быть отображен непосредственно в пути веб-приложений работы.
Даже так называемые рамки MVC на самом деле не MVC. Так что давайте просто держать цель в MVC в. То есть написать чистый, Многоразовый и проверяемый код.
веб-приложений
Практически все веб-приложения сделать, это получить запрос HTTP, процесс ее и сгенерировать ответ HTTP.
& NBSP; + ------------------ +
HTTP Request ------> | Веб-приложение + -----> ответов HTTP
& NBSP; + ------------------ +
Отправка и получение HTTP обрабатывается веб-сервера. Давайте более подробно рассмотрим, что веб-приложение делает:
& NBSP; + ------ + ------- + +
HTTP-запрос ----> | маршрутизатор | -----> | обработчик | ----> HTTP ответ
& NBSP; + ------ + ------- + +
Маршрутизатор проверяет URL запроса и отправить его в обработчик запроса, который будет создавать ответ. Лавина использует webapp2 маршрутизатор.
обработчики запросов стили
Есть в основном 3 типа обработчиков запросов.
- Одна функция
- Метод класса
- класс
Лавина (и webapp2) использует третий стиль, класс. Использование класса, как обработчик запросов лучше подходит для наших целей, потому что она обеспечивает большую гибкость, проще изменить / продлить и повторно использовать части обработчика.
обработка запроса обработчик
Обработка обработчик запросов может быть разделена на 3 этапа:
& NBSP; + ----------------- + ----------------- + + + --------- - +
запросить ----> | парам валют | ---- объекты Param ----> | Контекст строитель | --- контекст -----> | визуализации | ----> ответ
& NBSP; + ----------------- + ----------------- + + + --------- - +
1. парам валют - получить параметры из HTTP запроса
& NBSP; HTTP является протоколом текст, приложение, как правило, получить некоторые параметры из запроса и преобразования строковых значений в некоторых встроенных типов данных. Эти параметры взяты из пути URI, URI запроса, после данных, печенье и т.д.
2. Контекст строитель - переработка
& NBSP; Контекст это термин, используемый для представления данных, который будет использоваться по визуализации.
& NBSP; эта обработка логика приложения. Это часто доступ к настойчивость и слой (иногда называемой модели), но это полностью зависит от кода приложения и база не имеет никакой роли на что.
& NBSP; Веб-страницы часто состоит из нескольких элементов, так что иногда имеет смысл разделить работу на более чем одной "контекстного строителя".
3. визуализации - генерировать вывод
& NBSP; Рендерер будет преобразовывать результат обработки в текст для ответа HTTP. Этот этап может быть пропущен, если ответ является Перенаправление HTTP. Рендерер как правило, используют систему шаблон для генерации HTML кода или конвертировать данные в формате JSON.
На лавины вы должны написать код для 3 этапов обработчика отдельно, и пусть структура склеить различные части вместе.
. Перейдите к учебник, чтобы увидеть, как она выглядит, как

Требования

  • Python

Другие программы разработчика Eduardo Naufel Schettino

pytest-incremental
pytest-incremental

12 May 15

Doit
Doit

1 Mar 15

hoe.js
hoe.js

13 Apr 15

Комментарии к avalanche

Комментарии не найдены
добавить комментарий
Включите картинки!