Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Использование компонентной архитектуры в Джанго [RSS Feed]

#1 Окт. 27, 2009 12:23:21

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Где-то видел статью по этому поводу (точнее по импользованию zope - адаптеров в джанге)… Страдал ли кто-нибудь такими извращениям, и если да - поделитесь опытом, возможно кусками кода, или еще чем-то, думаю многим тут будет интересно, тем более что такой подход может (естественно при пряморуком подходе) значительно увеличить гибкость приложения.

P. S. Нашел:
http://www.stereoplex.com/two-voices/adapters-in-django-and-the-revenge-of-zope



Отредактировано (Окт. 27, 2009 12:23:55)

Офлайн

#2 Окт. 27, 2009 12:54:00

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Так что её использовать-то - компоненты=приложения. Вот и всё!



Офлайн

#3 Окт. 27, 2009 13:09:47

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Daevaorn
Так что её использовать-то - компоненты=приложения. Вот и всё!
Не согласен.
У приложений нет интерфейса (или другого протокола), по которым они взаимодействуют между собой, соответственно, они - не компоненты, и Джанго - это не компонентный фреймворк.

Советую почитать статью, линк на которую оставил выше + меня поймут люди, которые работали с Zope3.



Отредактировано (Окт. 27, 2009 13:19:31)

Офлайн

#4 Окт. 27, 2009 15:22:19

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Унифицированного протокола обмена между приложениями нету конечно, у каждого свой.
Я думаю, для джанги такой подход слишком … грубый, что ли. Зачем ещё одна абстракция.

Офлайн

#5 Окт. 27, 2009 15:41:46

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Ferroman
Зачем ещё одна абстракция.
А какие еще есть абстракции?

Может это только первое впечатление, но для меня пока Джанго - это крутая надстройка над CGI ( тут имею в виду саму архитектуру фреймворка и приложений, которые в нем пишуццо, этого и следовало ожидать, судя по истории его создания…), а насчет интерфейсов, то это очень упрощает работу, даже без доков можно подсмотреть в интерфейс и увидеть, что компонент позволяет делать, имхо django-app лишены этого удобства, кроме этого интерфейсы позволяют сделать полную (или на 99.9%) независимость компонентов, тогда как без них полной независимости не добиться, хотя в этом плане я, наверное, слишком дотошный (зоуп сказывается на объективности наверное…)



Отредактировано (Окт. 27, 2009 15:43:58)

Офлайн

#6 Окт. 27, 2009 16:41:39

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

regall
Не согласен.
У приложений нет интерфейса (или другого протокола), по которым они взаимодействуют между собой, соответственно, они - не компоненты, и Джанго - это не компонентный фреймворк.
Сделайте шаг назад. И попробуйте абстрагироваться от Zope.

Реализация компонентной архитектуры в Zope это всего лишь одна из возможных реализаций компонентной архитектура на некотором уровне детализации. Но подобных реализаций может быть сколь угодно много на разном уровне.

Сделайте пару шагов назад и посмотрите шире на сам питон. Его модули это компоненты, язык и интерпретатор это протокол и транспорт. Они взаимодействуют, подчиняясь общим законам принятым в этом языке.

Теперь шаг вперед. Джанговские приложения это в первую очередь питонячьи модули, а значит уже компоненты и для них справедливо всё что сказано выше. Плюс они чуть сужают протокол взаимодействия, предоставляя надстройки в виде кода фреймворка и его правил. Внутри этой подсистемы живут ещё дополнительные протоколы и транспорты в виде различных DSL и интерфейсов взаимодействия.

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

regall
(зоуп сказывается на объективности наверное…)
Ага - Zope головного мозга!;-)



Офлайн

#7 Окт. 27, 2009 16:59:54

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Daevaorn
подобных реализаций может быть сколь угодно много на разном уровне.
Безусловно
Daevaorn
Его модули это компоненты, язык и интерпретатор это протокол и транспорт.
Ну, тут не согласен, так можно сказать обо всем, что ножка - компонент табуретки, по-моему, не очень удачное сравнение, но мысль как бы уловил =)
Daevaorn
Так что утверждения что Джнага не компонентный фреймворк ошибочно. Она не такая компонентная как Zope - безусловно, но компонентная по своему.
То есть исходя из “сделайте пару шагов назад…” приложение , скажем CGI: helloworld.php (или -py), да, в общем-то любое - тоже компонентная архитектура?

P.S. Daevaorn, чисто из интереса, вы работали с Zope 3 или хотя бы с zope.interface, zope.component?



Офлайн

#8 Окт. 28, 2009 01:01:31

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

regall
что ножка - компонент табуретки,
О_о а что нет?
regall
То есть исходя из “сделайте пару шагов назад…” приложение , скажем CGI: helloworld.php (или -py), да, в общем-то любое - тоже компонентная архитектура?
На одном из уровней - да.
regall
P.S. Daevaorn, чисто из интереса, вы работали с Zope 3 или хотя бы с zope.interface, zope.component?
Именно zope.interface был раскурен и выброшен.
Сам Zope был раскурен ещё и проиграл Джанге.



Офлайн

#9 Окт. 28, 2009 02:06:54

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

Daevaorn
Сам Zope был раскурен ещё и проиграл Джанге.
Можно спросить чем же он проиграл (100% людей, которых я лично знаю, ну, хото их не так и много, отбросили Zope3 только из-за того что не осилили…) ?
Daevaorn
На одном из уровней - да.
Интересное мнение, но мы тут программируем, а не философствуем - и CGI - это не компонентная архитектура (не думал, что такое вообще может вызвать спор вообще…)



Офлайн

#10 Окт. 28, 2009 15:52:50

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Использование компонентной архитектуры в Джанго

regall
Можно спросить чем же он проиграл (100% людей, которых я лично знаю, ну, хото их не так и много, отбросили Zope3 только из-за того что не осилили…) ?
Так названием же - это очевидно! “Наш проект сделан на… Зопе” - ROFL
regall
не думал, что такое вообще может вызвать спор вообще…
Видимо из-за ограниченности сознания рамками одной технологии.

Мне изначально не понравился вот этот посыл:
regall
тем более что такой подход может (естественно при пряморуком подходе) значительно увеличить гибкость приложения.
отсюда и флейм небольшой.



Офлайн

  • Начало
  • » Django
  • » Использование компонентной архитектуры в Джанго[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version