title: What are some good design patterns for CRUD?
body: <p>I am working with a number of data entities which can be created, read, updated and deleted, and I find myself writing more or less the same code for them. For example, I need to sometimes output data as JSON, and sometimes in a table format. I am finding myself writing 2 different types of view to export the data to. Also, the creation of those entities within DB usually differs just by the SQL statements and the input parameters.</p>
  
  <p>I am thinking of creating a strategy pattern to represent different 'contexts'. For example, the read() method of an AJAX context will be to return the data as JSON. However, I wonder if others have deal with this problem beforehand and will like to know what design patterns are usually use for CRUD operations.</p>
  
  <p>Edit: One note is that sometimes compound entities are used to make up one whole one; for example, a location can have many descriptions, one for each supported language.</p>