<?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/" xmlns:series="http://unfoldingneurons.com/" > <channel><title>Comments on: Why Active Record Isn&#8217;t A Bad Design Pattern</title> <atom:link href="http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/feed/" rel="self" type="application/rss+xml" /><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/</link> <description>The personal blog of Brandon Savage. Contains entries of a personal and professional nature focusing on PHP, Apple, LAMP, MySQL and Washington, DC.</description> <lastBuildDate>Thu, 29 Jul 2010 19:10:45 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>By: bungle</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3021</link> <dc:creator>bungle</dc:creator> <pubDate>Tue, 16 Mar 2010 21:00:54 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3021</guid> <description>Only the best abstractions come with few down sides. Unfortunately Active Record isn&#039;t one of them. Peter Norvig has demonstrated that design patterns are a limitations of the actual programming language.RoR made Active Record popular, but people still feel it&#039;s a wrong solution. The performance is one of the least important down sides of AR.</description> <content:encoded><![CDATA[<p>Only the best abstractions come with few down sides. Unfortunately Active Record isn&#8217;t one of them. Peter Norvig has demonstrated that design patterns are a limitations of the actual programming language.</p><p>RoR made Active Record popular, but people still feel it&#8217;s a wrong solution. The performance is one of the least important down sides of AR.</p> ]]></content:encoded> </item> <item><title>By: Bill Karwin</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3020</link> <dc:creator>Bill Karwin</dc:creator> <pubDate>Tue, 16 Mar 2010 18:27:06 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3020</guid> <description>The phrase &quot;Rapid Application Development&quot; has two meanings: 1. to develop applications rapidly; 2. to develop rapid applications.The value of any ORM solution is to improve the first, at the expense of the second.</description> <content:encoded><![CDATA[<p>The phrase &#8220;Rapid Application Development&#8221; has two meanings:<br /> 1. to develop applications rapidly;<br /> 2. to develop rapid applications.</p><p>The value of any ORM solution is to improve the first, at the expense of the second.</p> ]]></content:encoded> </item> <item><title>By: Ivo</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3019</link> <dc:creator>Ivo</dc:creator> <pubDate>Tue, 16 Mar 2010 17:23:26 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3019</guid> <description>It&#039;s not the design pattern that&#039;s the problem, it&#039;s the CHOICE of design pattern. A poorly chosen design pattern can break an application. If you choose ActiveRecord where it&#039;s not a valid solution, it WILL be the problem. Most of the time people complain about a pattern they are not complaining about the pattern per se, but about a particular application&#039;s choice to use said pattern.</description> <content:encoded><![CDATA[<p>It&#8217;s not the design pattern that&#8217;s the problem, it&#8217;s the CHOICE of design pattern. A poorly chosen design pattern can break an application. If you choose ActiveRecord where it&#8217;s not a valid solution, it WILL be the problem. Most of the time people complain about a pattern they are not complaining about the pattern per se, but about a particular application&#8217;s choice to use said pattern.</p> ]]></content:encoded> </item> <item><title>By: PHP and MySQL</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3016</link> <dc:creator>PHP and MySQL</dc:creator> <pubDate>Tue, 16 Mar 2010 14:47:07 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3016</guid> <description>I think in MOST cases &quot;slowness&quot; comes because of bad database schema designs, so don&#039;t blame the DB engines, blame yourself or whoever was the architect of the system (-;</description> <content:encoded><![CDATA[<p>I think in MOST cases &#8220;slowness&#8221; comes because of bad database schema designs, so don&#8217;t blame the DB engines, blame yourself or whoever was the architect of the system (-;</p> ]]></content:encoded> </item> <item><title>By: Brandon Savage</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3015</link> <dc:creator>Brandon Savage</dc:creator> <pubDate>Tue, 16 Mar 2010 14:42:24 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3015</guid> <description>I had meant to include that link in the entry; I guess that&#039;s what happens when you write a blog post on one machine and publish on another. At any rate, thanks for pointing it out; the more people writing on this topic, the better!</description> <content:encoded><![CDATA[<p>I had meant to include that link in the entry; I guess that&#8217;s what happens when you write a blog post on one machine and publish on another. At any rate, thanks for pointing it out; the more people writing on this topic, the better!</p> ]]></content:encoded> </item> <item><title>By: Eli White</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3014</link> <dc:creator>Eli White</dc:creator> <pubDate>Tue, 16 Mar 2010 14:12:38 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3014</guid> <description>I&#039;ll echo what others have said.   Sure, Active Record by it&#039;s nature entails some &#039;slowdowns&#039;.  But (and this is the performance guy talking), that isn&#039;t always everything.   In the end, it&#039;s choosing the right code for your situation.  I&#039;m a pragmatist at heart.  If using Active Record helps you develop your particular application, cool.  Just don&#039;t get so HOOKED on the concept of Active Record that when/if the times comes to gut it out of your code, you can&#039;t.In general, I believe that&#039;s the case with most &#039;design patterns&#039;.  They are great ideas to use from time to time.  But the problem often comes that people see they have a hammer, and so use the hammer.  And that&#039;s where problems lie.</description> <content:encoded><![CDATA[<p>I&#8217;ll echo what others have said.   Sure, Active Record by it&#8217;s nature entails some &#8216;slowdowns&#8217;.  But (and this is the performance guy talking), that isn&#8217;t always everything.   In the end, it&#8217;s choosing the right code for your situation.  I&#8217;m a pragmatist at heart.  If using Active Record helps you develop your particular application, cool.  Just don&#8217;t get so HOOKED on the concept of Active Record that when/if the times comes to gut it out of your code, you can&#8217;t.</p><p>In general, I believe that&#8217;s the case with most &#8216;design patterns&#8217;.  They are great ideas to use from time to time.  But the problem often comes that people see they have a hammer, and so use the hammer.  And that&#8217;s where problems lie.</p> ]]></content:encoded> </item> <item><title>By: Matthew Turland</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3013</link> <dc:creator>Matthew Turland</dc:creator> <pubDate>Tue, 16 Mar 2010 14:00:45 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3013</guid> <description>I agree as well. Don&#039;t blame the saw if you&#039;re trying to use it to drive a nail. This isn&#039;t the first time the topic has been broached on the interwebs, though. ;) http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html</description> <content:encoded><![CDATA[<p>I agree as well. Don&#8217;t blame the saw if you&#8217;re trying to use it to drive a nail. This isn&#8217;t the first time the topic has been broached on the interwebs, though. ;) <a href="http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html" rel="nofollow">http://karwin.blogspot.com/2008/05/activerecord-does-not-suck.html</a></p> ]]></content:encoded> </item> <item><title>By: Joe LeBlanc</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3012</link> <dc:creator>Joe LeBlanc</dc:creator> <pubDate>Tue, 16 Mar 2010 13:52:04 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3012</guid> <description>Agreed, most places where I see Active Record being used in Joomla involve inserts or updates, which aren&#039;t going to get much faster if you try to write them by hand.</description> <content:encoded><![CDATA[<p>Agreed, most places where I see Active Record being used in Joomla involve inserts or updates, which aren&#8217;t going to get much faster if you try to write them by hand.</p> ]]></content:encoded> </item> <item><title>By: stefan</title><link>http://www.brandonsavage.net/why-active-record-isnt-a-bad-design-pattern/#comment-3011</link> <dc:creator>stefan</dc:creator> <pubDate>Tue, 16 Mar 2010 13:20:16 +0000</pubDate> <guid isPermaLink="false">http://www.brandonsavage.net/?p=1190#comment-3011</guid> <description>Yes. The design pattern is never the problem, it&#039;s the developer that tries to solve a problem with the wrong design pattern that&#039;s to blame. So instead of saying Active Record is wrong, one should say &quot;the use of Active Record in this situation is wrong&quot;.</description> <content:encoded><![CDATA[<p>Yes. The design pattern is never the problem, it&#8217;s the developer that tries to solve a problem with the wrong design pattern that&#8217;s to blame. So instead of saying Active Record is wrong, one should say &#8220;the use of Active Record in this situation is wrong&#8221;.</p> ]]></content:encoded> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using apc (user agent is rejected)
Database Caching 44/52 queries in 0.010 seconds using disk

Served from: www.brandonsavage.net @ 2010-09-08 13:01:58 -->