HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Open Source .NET eXchange: Mike Hadlow on Implementing the Repository Pattern
Implementing the Repository Pattern
Mike Hadlow starts his talk by summarising the evolution of data access from the early days of using RDO and DAO with Visual Basic, which did not provide a lot of control over the database, to contemporary domain driven approaches. He goes on explaining the different meanings people tend to give to the term “Repository”.
He explains that, the Repository pattern is important for providing dependency-free access to data of any type. Repositories are responsible for persisting entities and value types. The core purpose of the repository is to encapsulate persistence. “The client should appear to be simply using an entity collection and all the details of object relational mapping and specific data access APIs should be hidden behind that collection like interface”.
Mike goes on with his thoughts on some questions like: Should we return IQuaryable objects from our repositories? Should repositories control transactions and who should consume the repositories?

More information, Mike Hadlow's Blog
You can download the slides here

ABOUT MIKE HADLOW
Mike Hadlow is a freelance programmer based in Brighton, specialising in enterprise application development with Microsoft tools. Mike is the author of several open source projects including WsdlWorks, a web service test tool and Suteki Shop, an MVC
More about Mike Hadlow
PODCAST IMPLEMENTING THE REPOSITORY PATTERN

This session took part at the Open Source .NET eXchange. You can view the other 7 podcasts here.
SPONSORS
Methods & Tools
Manning Publications Co.
Neuri Ltd
OpenSource.NET eXchange
PROGRESSIVE .NET PODCASTS
Russel Winder:Python is a High Performance Programming Language, High Performance Python
Russel Winder : 31st Jan 2012
View Podcast: Python is a High Performance Programming Language,
Garry Shutler:Gain Trust and Create Change, Trust & Change
Garry Shutler : 30th Jan 2012
View Podcast: Gain Trust and Create Change,
Phil Trelford:Pacman Kata, f# kata
Phil Trelford : 26th Jan 2012
View Podcast: Pacman Kata,
 :Usable APIs, Usable APIs
: 12th Dec 2011
View Podcast: Usable APIs,
Andreas Ohlund:New and shiny things in NServiceBus 3.0, NServiceBus 3.0
Andreas Ohlund : 7th Dec 2011
View Podcast: New and shiny things in NServiceBus 3.0,
Uncle Bob (Robert C. Martin):Why can't anyone get Web architecture right?, Web architecture
Uncle Bob (Robert C. Martin) : 28th Nov 2011
View Podcast: Why can't anyone get Web architecture right?,
Gojko Adzic:Visualising quality, Visualising quality
Gojko Adzic : 18th Nov 2011
View Podcast: Visualising quality,
Byron Cook:Proving program termination with F#, F# program termination
Byron Cook : 16th Nov 2011
View Podcast: Proving program termination with F#,
Don Syme:KEYNOTE - F# Information Rich Programming, KEYNOTE - F# Information Rich Programmin
Don Syme : 3rd Nov 2011
View Podcast: KEYNOTE - F# Information Rich Programming,
Mark Needham:Programming with the Stars featuring surprise celebrities from C# and F# communities, Programming with the Stars
Mark Needham : 3rd Nov 2011
View Podcast: Programming with the Stars featuring surprise celebrities from C# and F# communities,
Chris Marinos:The F# Koans: An Interactive Way to Learn F# Through Testing, F# Koans with F# Testing
Chris Marinos : 3rd Nov 2011
View Podcast: The F# Koans: An Interactive Way to Learn F# Through Testing,
Tomas Petricek:Asynchronous Programming, Asynchronous Programming
Tomas Petricek : 3rd Nov 2011
View Podcast: Asynchronous Programming,
George Stavroulakis:F# in the cloud: The present and the future, F# in the cloud
George Stavroulakis : 3rd Nov 2011
View Podcast: F# in the cloud: The present and the future,
Robert Pickering:Building Applications with F#, Building Applications with F#
Robert Pickering : 3rd Nov 2011
View Podcast: Building Applications with F#,
Tomas Petricek:Data access in F#, Today and Tomorrow, Data access in F#, Today and Tomorrow
Tomas Petricek : 3rd Nov 2011
View Podcast: Data access in F#, Today and Tomorrow,
OTHER PROGRESSIVE .NET EVENTS
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
Manchester, Monday, February 13th
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
London, Thursday, February 16th
Andreas Ohlund:Udi Dahan's Enterprise Development with NServiceBus,  Udi Dahan's NServiceBus Workshop
4 DAY COURSE. Featuring Andreas Ohlund
London, Monday, February 20th
Andreas Ohlund Putting your events on a diet,  Putting your events on a diet
FREE EVENT: In The Brain of Andreas Ohlund
London, Monday, February 20th
Neo4J User Group:Neo4j in a .NET world, Neo4J User Group
FREE EVENT: Neo4j in .NET
London, Wednesday, February 22nd
Itamar  Syn-Hershko:Ayende Rahien's RavenDB Workshop,  Ayende Rahien's RavenDB Workshop
2 DAY COURSE. Featuring Itamar Syn-Hershko
London, Tuesday, February 28th
Itamar  Syn-Hershko RavenDB indexes explained,  RavenDB indexes explained
FREE EVENT: In The Brain of Itamar Syn-Hershko
London, Tuesday, February 28th
Jon Jagger:Jon Jagger & Kevlin Henney's Agile Development for Developers,  Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger
London, Monday, March 5th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship