Ответ 1
ActiveRecord - это шаблон, распространенный в ORM. Doctrine - это ORM, который использует стиль ActiveRecord'ish.
Некоторые преимущества использования таких инструментов, как Doctrine:
- Независимость базы данных: код должен быть легко переноситься в разные БД. Например, я часто тестирую SQLite и использую MySQL или Postgre в производстве без изменений кода.
- Они уменьшают объем кода, который вы должны написать: Большая часть кода приложения связана с общением с базой данных. ORM заботится об этом, поэтому вы можете сосредоточиться на написании фактического приложения.
Конечно, они не имеют недостатков:
- Доктрина тяжелая, поэтому она медленнее, чем использование прямого SQL
- ORM могут быть сложными, добавляя некоторый вес к тому, что вы должны изучать, и иногда их трудно понять для неопытных программистов.