<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 18 Jun 2013 00:16:16 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Ibuildings techPortal: Architecture Patterns: Domain Model and Friends]]></title>
      <guid>http://www.phpdeveloper.org/news/17062</guid>
      <link>http://www.phpdeveloper.org/news/17062</link>
      <description><![CDATA[<p>
On the Ibuildings techPortal today there's a new post from <i>Robert Raszczynski</i> about <a href="http://techportal.ibuildings.com/2011/10/31/architecture-patterns-domain-model-and-friends/">domain modeling</a> and how a good knowledge of it can help your application's architecture.
</p>
<blockquote>
Architectural and design patterns help software architects to break systems in to smaller, more maintainable sections organised by their functionality and usage. [...] There are three major layers in software architecture: presentation, domain and data source. [...] Now that we know what types of layers we can find in software architecture, let's have a look at how we can organize domain logic and data sources layers.
</blockquote>
<p>
He looks at three patterns that can help organize your domain logic - a transactional script (one file that does one thing), a table module (logic lives in the tables) and his focus, the domain model. He shows (via a graph) how the domain logic approach can cut through some of the effort it could take to improve on the other two. He gives a two suggestions of how to access the data in your domain layer - a Gateway or a Data Mapper. To reinforce the ideas he's presented, he includes some code snippets of a basic domain model for a Store, Customer and Product and uses them in both Gateway and Data Mapper examples.
</p>]]></description>
      <pubDate>Mon, 31 Oct 2011 11:26:09 -0500</pubDate>
    </item>
  </channel>
</rss>
