Я разрабатываю приложение с использованием SQLAlchemy и wxPython, которое пытаюсь распределить в отдельных модулях, состоящих из бизнес-логики, ORM и GUI.
Я не совсем уверен, как сделать это питонским способом.
Учитывая, что mapping()
нужно вызывать по-другому для используемых объектов, я подумал о том, чтобы поместить его в __init__.py
логики бизнес-процессов, но сохранить все определения таблиц в отдельном модуле orm.py
.
Должен ли я сохранить что-то вроде:
/Business
/__init__.py
| mapping (module1.Class1, orm.table1)
|
/module1.py
Class1
/orm.py
import
table1 = Table()
/GUI
/main.py
| import business
/crud.py
или что-то вроде
/Business
/__init__.py
| import
|
/module1.py
Class1
table1 = Table()
mapping (module1.Class1, orm.table1)
/GUI
/main.py
| import business
/crud.py
Рекомендуется ли первый подход? Есть ли другой вариант? Я видел второй способ, но мне не нравится помещать код обработки базы данных и код логики бизнеса в один и тот же модуль. Я обдумываю это? Разве это не большая проблема?