ActiveRecord vs DataMapper

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: ActiveRecord vs DataMapper

Сообщение samdark »

А можно поподробнее, это где я такое советую?
Парой постов выше, но, видно, я не так прочитал вот это:
Не обязательно, может быть и только одна таблица companies для сущности Company и наследующих ее Buyer и Seller.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: ActiveRecord vs DataMapper

Сообщение ElisDN »

yiiliveext писал(а): 2020.01.09, 17:12 Подход, скажем так, сомнительный. Если еще для интеграции чужих модулей с натяжкой можно использовать, то для создания своей системы независимых модулей я бы его не советовал. Гораздо лучше получается через интерфейсы, внедрение зависимостей и композицию.
Может и сомнительный, но однозначный и на любом масштабе к лапшекоду не приводит.

А нюансы обсуждали на примере в viewtopic.php?f=19&t=51084
uEhlO4a
Сообщения: 70
Зарегистрирован: 2017.08.12, 19:19

Re: ActiveRecord vs DataMapper

Сообщение uEhlO4a »

моя практика показывает, что у DataMapper есть 2 мнимых преимущества

1. защита от утечки памяти если приложение работает с консоли как служба. Мнимое, потому что у меня было 2 проекта на Symfony и утечки памяти были в самом Doctrine (gc_collect_cycles() работает только если утечка была устранена), как пример SQL Logger, можешь сам поискать
orm memory leaks
dbal memory leaks


2. отсутствие зависимости от фреймворка - это вообще чистая религия, т.к. проект который подсел на Doctrine ORM никогда в жизни с него не слезет.

после выхода 7.4 (https://www.php.net/manual/en/class.weakreference.php) преимуществ нет никаких, только одни костыли - делаем гибкий язык НЕгибким, добавляем еще strict_type=1 и исправляем то, что не требовало исправлений до этого (ограничения при наследовании, типизация, явное проксирование всего и вся, усложнение использования транзакций и т.д.), то есть идем по пути "если бы у рыбы была шерсть, то были бы блохи, а блохи - это...", то есть, делаем с языка С++, а данные в С++ мы получаем через DataMapper.. примерно так и работает.


п.с.
и да, я из секты свидетелей ActiveRecord, т.к. считаю это верной веткой в эволюции преобразования данных с базы в обьекты кода. А когда у меня база noSQL, то это вообще для меня очевидно.

п.п.с.
норм текст https://github.com/codedokode/pasta/blo ... rns-oop.md
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: ActiveRecord vs DataMapper

Сообщение samdark »

uEhlO4a

1. Это просто Doctrine. У Cycle такого нет.
anton_z
Сообщения: 483
Зарегистрирован: 2017.01.15, 15:01

Re: ActiveRecord vs DataMapper

Сообщение anton_z »

samdark писал(а): 2020.01.14, 14:37 uEhlO4a

1. Это просто Doctrine. У Cycle такого нет.
У Cycle нет много того, что есть в doctrine и даже в Yii AR.
Ответить