sur Cette page j'ai lu ce qui suit: p>
Une unité de travail est un modèle de conception décrit par Martin Fowler P> blockQuote>
Martin Fowler a-t-il découvert ce modèle avant les développeurs hibernés et est-il la seule source de décrivant ce modèle? P>
5 Réponses :
Comme dit la citation, il s'agit d'un modèle de conception que a été décrit em> par Martin Fowler, il n'ya rien de rien qui affirmait qu'il l'a inventé. Il pourrait avoir cependant. P>
Les motifs ne sont pas "inventés", ils sont observés et décrits. Martin Fowler n'est crédité qu'avec l'observation et la description du motif. P>
Vous n'invissez pas les modèles. Vous les découvrez en regardant des choses jusqu'à ce que vous voyiez des fonctionnalités de répétition. Vous documentez les fonctionnalités de répétition que vous observez. De toute évidence, certaines implémentations doivent venir en premier. Puis quelqu'un les documente. Ensuite, d'autres personnes lisent et font référence à la documentation. P>
Tout le monde qui l'a déjà utilisé fait maintenant référence à Martin? P> blockQuote>
J'en doute. "Tout le monde" serait beaucoup d'utilisateurs antérieurs. Certains d'entre eux peuvent (a) non-références martin et (b) être très difficiles à localiser sur Google car le logiciel est si vieux. P>
Les motifs ne sont pas inventés; Ils émergent comme des solutions éprouvées à des problèmes courants et sont découvertes et décrites, non contrairement à la découverte des espèces biologiques et décrites et nommées. Sûr, quelque part sur la ligne, quelqu'un a mis en œuvre une unité de solution de travail primitive pour la première fois, mais ce n'était pas avant que d'autres aient fait la même chose et commencés à partager qu'il pouvait être décrit comme un motif (1 de tout ce n'est jamais un motif). p>
Martin Fowler a été prodigieux dans la description et la nommer des schémas émergents, une unité de travail entre eux. P>
Une de ses sources publiées décrivant UOW est modèles d'architecture d'entreprise , publié en 2002 ( sans aucun doute après que le motif lui-même avait été autour pour un long em> temps). p>
Martin Fowler a-t-il découvert ce modèle avant Hibernate Boys et est Martin la seule source de décrivant ce modèle? P> blockQuote>
Le concept de unité de travail em> est un concept central d'ormes et a été décrit par Scott Ambler dans ses recherches en suspens sur ORM (qui remonte à 1998), notamment le fameux orm Papiers soeurs em> (maintenant divisé dans plusieurs documents): P>
- La conception d'un cadre de persistance robuste pour les bases de données relationnelles (version plus ancienne ici )
- 5.1.4 La classe persistanceTransaction <- Ceci est-ce LI> ul> li>
- L'incidence sur l'impédance d'objet relationnel li>
- Objets de mappage vers des bases de données relationnelles: Cartographie O / R en détail LI>
- Choisir une clé primaire: naturel ou porteur? LI> ul>
Et à ma connaissance, la plupart des ormes modernes sont basés sur les papiers de Scott Ambler et les concepts de partage: P>
- TOLLINK a une unité de travail, le
UnitOfwork code> 1 sup>. li>
- JDO a une unité de travail, le
persistencemanager code>. li>
- Hibernate a une unité de travail, la session
code>. li>
- JPA a une unité de travail, le
EntityManager code>. li> ul>
Donc, alors que ce concept a émergé comme un motif décrit par Fowler, le travail d'Ambler prédit clairement la PoaA. p>
1 sup> En réalité, TopLink a été créé au début des années 90 et prédit donc le travail d'Ambler, je ne sais tout simplement pas quand ils ont introduit leur unité de mise en œuvre du travail et si l'amplificateur d'une manière d'une manière ou d'une autre influence sur ce résulte de la convergence d'idées similaires. p>
Super. Où avez-vous trouvé tout cela pense? :)
@Darko Eh bien, j'ai toujours été intéressé par OrM et j'ai commencé à regarder des outils et de la théorie au début de ma carrière. Ambler était déjà "l'autorité" sur ce sujet, donc j'ai étudié son travail (et j'ai toujours des copies des "papiers soeurs" originaux sur ma machine). J'ai ensuite suivi l'évolution du paysage Orm de près et j'ai eu la possibilité de travailler avec les outils de persistance / API mentionnés ci-dessus. Donc, pour résumer, ceci est juste accumulé des connaissances :)
En raison de l'anglais La question n'est pas bien formatée :)