Row data gateway pattern
An object that acts as a Gateway to a single record in a data source. There is one instance per row.
How it works
Each row in the table is represented as one object. That object has exactly the same fields as the database row, and all the methods to update itself in the database. There is a Finder class which instantiates the object.