Что является источником шаблона работы? - PullRequest
4 голосов
/ 20 августа 2010

На на этой странице Я прочитал следующее:

Единица работы - это шаблон проектирования, описанный Мартином Фаулером

Мартин Фаулер обнаружил этот паттерн до разработчиков Hibernate и является ли он единственным источником описания этого паттерна?

Ответы [ 5 ]

20 голосов
/ 20 августа 2010

Обнаружил ли Мартин Фаулер этот паттерн до появления спящих мальчиков и является ли Мартин единственным источником описания этого паттерна?

Концепция Единицы работы является центральной концепцией ORM и была описана Скоттом Амблером в его выдающемся исследовании ORM (которое датируется 1998 годом), в частности, известной сестре ORM. документы (теперь разделены на несколько документов):

И, насколько мне известно, большинство современных ORM основаны на работах Скотта Амблера и имеют общие понятия:

  • TopLink имеет единицу работы, UnitOfWork 1 .
  • У JDO есть единица работы, PersistenceManager.
  • Hibernate имеет единицу работы, Session.
  • У JPA есть единица работы, EntityManager.

Итак, хотя эта концепция возникла как шаблон, который был описан Фаулером, работа Амблера явно предшествовала PoEAA.

1 На самом деле TopLink был создан в начале 90-х годов и, таким образом, предшествовал работе Амблера, я просто не знаю, когда они представили реализацию своей единицы работы, и влиял ли на нее Амблер, или это в результате сближения похожих идей.

3 голосов
/ 20 августа 2010

Шаблоны не «изобретены», они соблюдаются и описываются. Мартину Фаулеру приписывают только наблюдение и описание закономерности.

2 голосов
/ 20 августа 2010

Вы не «изобретаете» шаблоны. Вы обнаруживаете их, глядя на вещи, пока не увидите повторяющиеся функции. Вы документируете повторяющиеся функции, которые вы наблюдаете. Очевидно, что некоторые реализации должны быть на первом месте. Тогда кто-то документирует их. Затем другие люди читают и ссылаются на документацию.

каждый, кто раньше использовал его, теперь относится к Мартину?

Я сомневаюсь в этом. "все" будет много предыдущих пользователей. Некоторые из которых могут (а) не ссылаться на Мартина и (б) найти их в Google очень сложно, поскольку программное обеспечение устарело.

1 голос
/ 20 августа 2010

Как сказано в цитате, это шаблон дизайна, который был описан Мартином Фаулером , там нет ничего, что бы утверждало, что он его изобрел. Он мог бы, хотя.

0 голосов
/ 20 августа 2010

Шаблоны не изобретены; они появляются как проверенные решения общих проблем, и их открывают и описывают, подобно тому, как биологические виды обнаруживаются, а затем описываются и называются. Конечно, где-то вдоль линии, кто-то впервые реализовал примитивное решение для работы, но только когда другие сделали то же самое и начали делиться им, это можно было бы описать как шаблон (1 из всего, что никогда не бывает шаблон). * * +1001

Мартин Фаулер был поразительным в описании и названии появляющихся образцов, среди которых была Единица работы.

Одним из его опубликованных источников, описывающих UoW, является Шаблоны архитектуры предприятия , опубликованные в 2002 году (несомненно, после того, как сам шаблон существовал в течение продолжительного времени).

...