Вы также можете сделать:
from contextlib import nested
with nested(open(spam), open(eggs)) as (f_spam, f_eggs):
# do something
В Python 2.7 и 3.1+ вам не нужна функция nested
, потому что with
поддерживает следующий синтаксис:
with open(spam) as f_spam, open(eggs) as f_eggs:
# do something
Это безумие - сначала использовать статическое соединение с базой данных :) Идея вашего дизайнера была очень плохой в отношении статического подхода. Я думаю, что архитектура NTiear была хорошим способом начать с этого. Возможно, в будущем вашей новой проблемой станет масштабируемость вашей системы БД. Возможно, вы используете вертикальное масштабирование. Если это правильно, вы должны применить распределенный подход к системе БД, например, репликацию и разделение. Также решение nosql может иметь другой вариант. Я искал эту тему в прошлом году, и я написал документ, который вы можете увидеть на medium
И еще один вопрос о monolotihc vs. microservice. Вы можете найти много статей на средних и т. Д. Вот один из из них .
Кроме того, я опубликовал пример проекта на github о N-Tier-Architecture-with-Generic-Repository - Dependency-Injection-And-Ninject
, который вы можете изучить
Удачи;)