<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anti-Patterns on Random Ramblings</title><link>https://blog.foundev.pro/tags/Anti-Patterns.html</link><description>Recent content in Anti-Patterns on Random Ramblings</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 16 Jul 2010 02:24:00 +0000</lastBuildDate><atom:link href="https://blog.foundev.pro/tags/Anti-Patterns/index.xml" rel="self" type="application/rss+xml"/><item><title>Anti-Pattern: Too much of your application is about interacting with external resources</title><link>https://blog.foundev.pro/2010/07/16/anti-pattern-too-much-of-your-application-is-about-interacting-with-external-resources.html</link><pubDate>Fri, 16 Jul 2010 02:24:00 +0000</pubDate><guid>https://blog.foundev.pro/2010/07/16/anti-pattern-too-much-of-your-application-is-about-interacting-with-external-resources.html</guid><description>&lt;h1&gt;Anti-Pattern: Too much of your application is about interacting with external resources&lt;/h1&gt;&#10;Firstly, what am I talking about? Applications that meet some of the following descriptions:&#10;&lt;ol&gt;&#10;&lt;li&gt;Stored procedures with a fair amount of conditional logic or complicated business rules buried in a sub-query (some would argue sprocs at all).&lt;/li&gt;&#10;&lt;li&gt;Web pages with lots of conditional output again encoding business rules in snippets of view logic. if else checks that display the latest price for something if before and certain date or a default price.&lt;/li&gt;&#10;&lt;li&gt;The majority of ‘unit tests’ require a database, or web and application server to be up and running.&lt;/li&gt;&#10;&lt;li&gt;The majority of code files make reference to language default I/O or database libraries.&lt;/li&gt;&#10;&lt;li&gt;Hours are spent trying to determine if differences in version of infrastructure are the cause of certain bugs.&lt;/li&gt;&#10;&lt;li&gt;Changing database schema results in hours of refactoring, as hundreds of querys and sprocs are hunted through to see if this index or that index is being properly hit.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;Why is this an anti-pattern? First before I bore you with endless reasoning behind SOLID principles, proper OO etc if you’re reading this and you’re of a bent that disagrees with me so far entirely..none of that will mean anything to you, and none of it will mean anything to your customers so let me put this in the most practical terms I can.&lt;/p&gt;</description></item></channel></rss>