<pedrocorreia.net ⁄>
 

<[Design Patterns, OOP, PHP] Design Patterns you use without knowing them ⁄ >




clicks: 2533 2533 2008-09-24 2008-09-24 goto programacao myNews programacao  Bookmark This Bookmark This


Rise your hands if time ago (or even now) you stood litteraly in trance listening to your friends or colleagues talking about design patterns. . .I thought "Oh my God? Design what??", and I learned I was not the best incredibly skilled new born super ultra young mega nerd programmer in the world!
Anyway I felt better (and also my ego did) when I found those Design Patterns were no more than ways to solve common programming problems, and as I was programming since 2 or 3 years, I had already discovered some of them myself.

One of those was the strategy pattern. Imagine you have a class that connects to a storage layer (it could be a database or even another kind of diabolic machinery). At first you decide to use MySQL, as it is free and easy to use (escpecially with PHP). Unfortunately your first customer decides to use e.g. Ms-SQL Server: what a mess! Different libraries and methods...but as you have a bit of experience, gained by re-writing time after time your own libraries as each time you forget a method or parameter or a class, you know the great use of interfaces and you luckily used them with your SuperCoolMySQLClass. Now what you have to do is writing a MegaMSSQLServerClass, that will implement the SuperDataBaseInterface, and what you'll have to modify is just the row in which you create the instance of the class.



este é só um excerto do artigo, para aceder ao artigo completo, clique no link em baixo:
this is just a small excerpt from the article, to access the full article please click in the link below:

http://dotnetbutchering.blogspot.com/2008/02/design-patterns-oop-php-d...




Subscribe News RSS  Subscribe News Updates by E-mail





myNews <myNews show="rand" cat="programacao" ⁄>

RouterJs: easy routing for your ajax Web applications new ...

RouterJs is a simple router for your ajax web apps. It's build upon History.js which means that Rout (...)

clicks: 16190 16190 2012-05-14 2012-05-14 goto url (new window) haithembelhaj.g... goto myNews programacao


Backbone computed properties new ...

This gist shows one way to implement read- and write-enabled computed properties on a Backbone Model (...)

clicks: 16010 16010 2012-05-13 2012-05-13 goto url (new window) https://gist.gi... goto myNews programacao


Android Query new ...

Android-Query (AQuery) is a light-weight library for doing asynchronous tasks and manipulating UI el (...)

clicks: 16237 16237 2012-05-12 2012-05-12 goto url (new window) code.google.com... goto myNews programacao


HTML5 jQuery Paint Plugin new ...

Websanova Paint is a HTML5 canvas based jQuery plugin. It allows you to free paint on a canvas area (...)

clicks: 26780 26780 2012-05-12 2012-05-12 goto url (new window) websanova.com/t... goto myNews programacao


Create Instagram Filters With PHP new ...

In this tutorial, I'll demonstrate how to create vintage (just like Instagram does) photos with PHP (...)

clicks: 15681 15681 2012-05-12 2012-05-12 goto url (new window) net.tutsplus.co... goto myNews programacao


Real-time Applications With Node.js and Socket.IO new ...

Hey everyone! Sorry about the long pause since the last blog post, life has been quite hectic for th (...)

clicks: 16088 16088 2012-05-11 2012-05-11 goto url (new window) codingcookies.c... goto myNews programacao


Sass vs. LESS vs. Stylus: Preprocessor Shootout new ...

CSS3 preprocessors are languages written for the sole purpose of adding cool, inventive features to (...)

clicks: 15403 15403 2012-05-11 2012-05-11 goto url (new window) net.tutsplus.co... goto myNews programacao


15 Handpicked jQuery Drop Down Menus Tutorials new ...

Here we are presenting another brilliant collection of 15 jQuery navigation menu that you can downlo (...)

clicks: 15197 15197 2012-05-10 2012-05-10 goto url (new window) smashingapps.co... goto myNews programacao