Встречается на собеседованиях • сегодня
Верно ли, что использование прослойки между твоим кодом и БД в виде ORM-это может считаться выполеннием принципа инверсии зависимости
Да, использование ORM можно считать примером выполнения принципа инверсии зависимостей (DIP). ORM абстрагирует работу с БД, позволяя коду зависеть от интерфейсов (например, моделей ORM), а не от конкретной реализации базы данных. Это делает систему гибче — можно менять БД, не переписывая бизнес-логику.
Пример с SQLAlchemy:
python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
Код зависит от абстракции (модель User), а не от конкретной БД
engine = create_engine('sqlite:///users.db')
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name='Alice')
session.add(new_user)
session.commit()
text
Здесь бизнес-логика работает с `User`, а не с SQL-запросами, что соответствует DIP. Однако важно, чтобы ORM не навязывала свою структуру доменному слою.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы