1

Реиспользование приложений#

 3 years ago
source link: https://solovyov.net/blog/2009/reuse-of-applications/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Реиспользование приложений#

Есть в Джанге такая сущность, как приложение - какой-то кусок функционала. На мой взгляд, то, что Джанга заставляет юзера делить свой проект на такие кусочки

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

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

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

И вот если представить такого себе сферического пони в вакууме без проблем обратной совместимости - каким будет лучший путь решения проблемы?

Я пока вижу только два:

  • точечный - как-то внимательно спроектировать auth так, чтоб он был таки расширяемым; при этом, если возникает проблема с другим стандартным приложением, вся история начинается сначала;
  • применить магию по типу той, что была в Джанге сначала, когда можно было импортировать приложения как django.apps.appname - тоже вроде как не зря они от нее отказались же.

Есть какие-нибудь разумные мысли?

May 2009


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK