<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Enterprise Patterns: A Look At Application Service</title>
	<atom:link href="http://www.htmlist.com/development/php-enterprise-patterns-application-service/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.htmlist.com/development/php-enterprise-patterns-application-service/</link>
	<description>A Web Development Blog by Synapse Studios</description>
	<lastBuildDate>Mon, 15 Mar 2010 03:22:38 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: David Bernal</title>
		<link>http://www.htmlist.com/development/php-enterprise-patterns-application-service/comment-page-1/#comment-94</link>
		<dc:creator>David Bernal</dc:creator>
		<pubDate>Tue, 22 Jul 2008 19:31:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.htmlist.com/?p=69#comment-94</guid>
		<description>Hey Mike, thanks for your thoughts. 

My idea with this post was actually to look at ways in which we can improve our architecture to get beyond MVC. If you read the final paragraph of the &quot;Fear and Doubt&quot; section, I actually discuss some reasons to keep business logic out of the models.

To me, the distinction is that when programming, we clearly need a place to hold the data in memory so that we can work with it. We also need a place to put logic that operates on that data. Depending on what data the logic operates on (whether, for example, it operates on one model or multiple), and the complexity of the data and the logic, it is often better to separate the functionality that encapsulates the data from the functionality that operates on that data. 

Those are my views, anyway. If you have further thoughts, I&#039;d really appreciate you leaving them.</description>
		<content:encoded><![CDATA[<p>Hey Mike, thanks for your thoughts. </p>
<p>My idea with this post was actually to look at ways in which we can improve our architecture to get beyond MVC. If you read the final paragraph of the &#8220;Fear and Doubt&#8221; section, I actually discuss some reasons to keep business logic out of the models.</p>
<p>To me, the distinction is that when programming, we clearly need a place to hold the data in memory so that we can work with it. We also need a place to put logic that operates on that data. Depending on what data the logic operates on (whether, for example, it operates on one model or multiple), and the complexity of the data and the logic, it is often better to separate the functionality that encapsulates the data from the functionality that operates on that data. </p>
<p>Those are my views, anyway. If you have further thoughts, I&#8217;d really appreciate you leaving them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Seth</title>
		<link>http://www.htmlist.com/development/php-enterprise-patterns-application-service/comment-page-1/#comment-90</link>
		<dc:creator>Mike Seth</dc:creator>
		<pubDate>Tue, 22 Jul 2008 10:48:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.htmlist.com/?p=69#comment-90</guid>
		<description>And that&#039;s where you&#039;re wrong:

&quot;Represents the data used by the application, tends to also hold some amount of business logic. Also facilitates persistence (often by using or encapsulating some kind of data abstraction layer).&quot;

MVC models do not &quot;tend to hold some amount of business logic&quot;. They are the business logic. This is a mistake made by many people who learned about MVC from Rails. Because of this mistake, some people add a fourth component or extensions that do not go in line with MVC (or plain violate it), and other people cram their business logic into controllers. Both approaches are wrong and invalidate MVC.</description>
		<content:encoded><![CDATA[<p>And that&#8217;s where you&#8217;re wrong:</p>
<p>&#8220;Represents the data used by the application, tends to also hold some amount of business logic. Also facilitates persistence (often by using or encapsulating some kind of data abstraction layer).&#8221;</p>
<p>MVC models do not &#8220;tend to hold some amount of business logic&#8221;. They are the business logic. This is a mistake made by many people who learned about MVC from Rails. Because of this mistake, some people add a fourth component or extensions that do not go in line with MVC (or plain violate it), and other people cram their business logic into controllers. Both approaches are wrong and invalidate MVC.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
