The data mapper saves data from (and restores) the domain object , and the data access object will be used as an intermediary for the exchange of information between the domain object and the storage abstraction.
<update> The main difference between the two approaches is that the temporary data display element controls the domain object, while the data access object either receives the data indirectly (through some higher-level abstraction, for example, Service), or is controlled (and in some implementations, even instantiated) by domain object. </update>
None of the templates are remotely linked to an active (anti) template record that combines domain logic and storage abstraction in one instance, a href = "http://en.wikipedia.org/wiki/Single_responsibility_principle" rel = "nofollow"> SRP
And not one of the mentioned templates is bound to ORM. Some ORMs try to use the above template for implementation, but usually they do a pretty bad job.
Most of what you call “modern frameworks” use an active recording template and name instances of its “models”, which greatly simplify the concept immortalized by Rails.
source share