Monday, February 16, 2009

Design Patterns in Ruby

Previously I wrote a post about Design Patterns in Beanshell. Now I have converted them in ruby scripts. Some of DP implementations in Ruby does not make sense because of highly dynamic nature of this language.

Creational Patterns

Abstract Factory
Builder
Factory Method
Prototype
Singleton
Singleton (corrected)
Lazy Initialization

Structural Patterns

Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy

Behavioral Patterns

Chain of Responsibility
Command
Domain Function
Interpreter
Iterator
Mediator
Memento
Observer
Observer with Observer library
State
Strategy
Template Method
Template Method (corrected)
Visitor

Enterprise Patterns

MVC
Data Access Object
Map-Reduce

My main sources:

1. Design Patterns in Beanshell
2. Design Patterns in Ruby : web site and the book

59 comments:

jadarkwah said...

Hi Alex,
We met in Marquand park last year.
Great posts. I read the DP in ruby book as well.
Joey

Anonymous said...

Hi Alex,

This is a great effort. I own the design patterns book and would love to see it updated. What you're doing here makes design patterns even more accessible to ruby developers. I hope we can further develop what you have as a community resource, with more background descriptions, and possibly even a guide for when to use or not use a particular pattern.

It's particularly important to know the Ruby versions of these patterns so that we're not implementing the generic patterns when Ruby offers an even shorter more intuitive alternative.

Something to note. Looking at your "lazy initialization" pattern, I think I'd call that "virtual proxy". Wikipedia does a nice job of describing four patterns that fall under an umbrella of closely related patterns:

Lazy Loading
- Lazy Initialization
- Virtual Proxy
- Ghost
- Value Holder

Joe Chesak

Anonymous said...

It is rather interesting for me to read the post. Thank you for it. I like such topics and everything connected to them. I would like to read more on that blog soon.

heilkräuter said...

Design Patterns in Ruby documents smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work.

Anonymous said...

Understandably your article helped me terribly much in my college assignment. Hats off to you enter, wish look forward for more related articles without delay as its anecdote of my choice subject-matter to read.

Anonymous said...

вот, моя любимая женщина (но я не вместе, простой я её люблю, а она пока меня как друга) удалилась из контакта, я хочу чтоб она вернулась обратно, я просил несколько немного чтоб она не удалялась (причинность там всё действительно мне удобно с ней общаться) но она сказала Так надо......вот я и думаю извещать не большую надпись для асфальте: ВЕРНИСЬ В КОНТАКТ! который скажите?))

[url=http://www.2nt.ru/go/ruserotik.php]Молодежное видео[/url]
[url=http://2nt.ru/go/serial.php]Вообще любой сериал и особенно новинки я качаю тут [/url]
[url=http://2nt.ru/go/teets.php]Молодежное видео тут[/url]

Anonymous said...

njbbknjkcdsnkscksjc

winnie said...

moncler
moncler branson
moncler jackets
moncler jacken

bandage dress
herve leger bandage
herve leger

Dsquared sneaker for men
Dsquared2 jeans
Dsquared2

Moncler
Moncler Jacket
Moncler jackets

Anonymous said...

To be a adroit lenient being is to be enduring a philanthropic of openness to the world, an ability to guardianship unsure things beyond your own pilot, that can lead you to be shattered in unequivocally extreme circumstances as which you were not to blame. That says something exceedingly outstanding about the get of the honest autobiography: that it is based on a corporation in the up in the air and on a willingness to be exposed; it's based on being more like a plant than like a prize, something somewhat dainty, but whose very particular handsomeness is inseparable from that fragility.

Anonymous said...

Спасибо понравилось !

Anonymous said...

ООО, Поздравляю, очень хорошая мысль

Anonymous said...

Hello dudes, I'm Francesco from Italy My passions are Electronics and Athletism. I work for a video game qa company. Life here in Japan is great!

weddingdresses said...

Are you preparing Christmas gifts for your loves ,family and friends now ?
Maybe you can choose us , we always provide the excellent quality products and best after-sale service ,

And recently we have a active promotions :Happy Shopping at Dec,
the content of preference:
10%~15% discount
a Christmas gift
Free shipping!

we are accept paypal ,credit card and western union for payment .
New arrival :Power Balance
winter boots
power balance bracelet
Silly Bands
Reebok Easytone
reebok zigtech
efx bracelet
Moncler Jackets

Anonymous said...

hey there good insight info discussing, believe this will be really helpful for everybody

Careprost said...

You portrayed the topic well.. Especially the concluding paragraph and the mid section made a good read... keep posting...All the best.

Anniversary Bands said...

Excellently written article, if only all blogger offered the same level of content as you, the internet would be a much better place. Thank you very much for posting.
Diamond Wedding Rings | Wedding Rings | Anniversary Bands | Diamond Engagement Rings

Online Diamond Jewelry said...

Great post. Thank you for sharing this wonderful knowledge. I’ll be waiting for your future posts.

Networking solutions said...

Nice work, I would like to read your blog every day Thanks

Diamond Engagement Rings said...

It is very interesting topic you've written here..The truth I'm not related to this, but I think is a good opportunity to learn more about. Thank you for sharing.

careprost said...

Really great post, Thank you for sharing This knowledge.Excellently written article, if only all bloggers offered the same level of content as you, the internet would be a much better place. Please keep it up!

Madiha Shoukat said...

I certainly enjoyed the way you explore your experience and knowledge of the subject! Keep up on it. Thanks for sharing the infoManchester IT support

Seo Services India said...

There are may person searching about that now they will find enough resources by your post,

custom logo design said...

Hello, Buddy,this is one of the best posts that I’ve ever seen; you may include some more ideas in the same theme. I’m still waiting for some interesting thoughts from your side.

Goan restuarant in brisbane said...

It was a beneficial workout for me to go through your webpage. It definitely stretches the limits with the mind when you go through very good info and make an effort to interpret it properly.

Comprare Viagra Generico said...

Nice post! Thanks fro sharing!

pizza bag said...

For a moment while I was reading your article I struck to me that I always thought about this thing. But could not put it into words! How you do this is marvelous.

Buy Volmax said...

I always enjoy reading such posts which provide knowledge based information like this blog. Keep it up.

Silagra said...

I need this article to complete my assignment in the college, and it has same topic with your article. Thanks, great share.

Health and Fitness Membership said...

The post is very nicely written and it contains many useful facts. I am happy to find your distinguished way of writing the post. Now you make it easy for me to understand and implement. Thanks for sharing with us.

Natural vitamins supplements said...

A healthy diet is not about strict nutrition philosophies, staying extremely thin, or depriving yourself of foods you love. Rather, it is to get that good to have more energy and keep you healthy as possible.

Anonymous said...

You’ll surely not regret investing your few cash on these Christian Louboutin Pumps
. Looking at it already tells that these are sure to last through the years and are sure to complement just about any of your choice of wardrobe.
This go-with-everything footwear is done in stone suede material and is trimmed with golden leather, which indeed shows a luxurious neutral combination. It has a wide band across the open toe, which comes plain with only the golden trimming; but what actually makes this pair chic is the gold leather woven design on the elasticated ankle strap and also on the heel. This is definitely a stunning design, but you know that such could indeed work with anything for every season.
The heel measures about 3.5 inches, and it is definitely enough to make this work from the day throughout the night.
For the spring and summer, you might want to wear these Christian Louboutin Woven-Effect Suede Sandals with your sun-drenched dress for a luxurious seasonal look. Get this at STYLE-HEELS for $245.

Tubal Reversal said...

I just love how you write. Reading your blog for me is like sitting down and having a conversation with you. You always make me smile and you have a way with words.

Just thought I'd tell you in case you didn't know. :-)
Tubal Reversal|Tubal ligation reversal

Shop Fitters Queensland said...

I would wish to thank you for that efforts you've got created in writing this post. I am hoping the exact same best perform from you in the potential as well. In reality your inventive writing skills has inspired me to start my own BlogEngine blog now.

alprazolam without prescription said...

Hi, This is really nice information here.... very interesting too... Thanks for the share....

Facebook Developers said...

The content of the post is very impressive and has great attraction for its readers.

Free Classified Ads said...

I enjoyed your entries on Toxic Words - such great thoughts and a wonderful reminder to watch the words I use - to be positive and kind and use words to build up rather than tear down. :)

String Bikini said...

This is one of the most incredible blogs I have read in a very long time. Your blog is great for anyone who wants to understand this subject more. Great stuff; please keep it up!

Facebook Developers said...

I loved your post entries on Toxic Words - such great knowledge and a wonderful reminder to watch the words..Cheers

Learn English Language said...

The call became real famous because it was tatty by umpteen famous celebrities like Madonna, Britney spears and also Sylvester Stallone.

Free Study Guide said...

This is a enthusiastic travail. I own the programme patterns book and would pair to see it updated. What you're doing here makes programme patterns modify solon comprehensible to red developers. I prospect we can further change what you love as a dominion resourcefulness, with more vista descriptions, and possibly regularise a enchiridion for when to use or not use a peculiar ornament.

cincin plantarea trandafirilor said...

Well those paterns are very cool!

Anonymous said...

Find learn english addition This is one of my favorite topic and i am searching to long time about this. And your description about it is so different and very clearly explanation i understood very much because i loved traveling.

Facebook Application Development Services said...

Wow, excellent data regarding this issue. You might want to let me know how long will it take? Because I like to write the thesis or may be it would be nice to detect the thesis writing service. Thank you very much.

Affordable Logo Designs said...

This is a Great Website You might find Fascinating that we Motivate A person.

Buy Acne creams said...

Really great blog, Thank you for sharing This knowledge. Excellently written article, if only all bloggers offered the same level of content as you, the internet would be a much better place. Please keep it up!!!

Barcelona Apartamentos said...

This is the first time I have come across your site. Post info, I’ll be back soon. Thanks!

barcelona apartment said...

Hey there, BIG thanks for this nice list! This is what I’ve been looking for. For me as a new programmer, this will help much. Greets, Alex

Details For Men coupon codes said...

This is a really good read for me. Must agree that you are one of the coolest blogger I ever saw.

Corporate Search Engine Optimization said...

Wow…I am bowled by your level of knowledge. I am so impressed. I think you have got a deep insight into this topic. Could not think on those lines ever…I think you are gifted…keep going. Thumbs up!

Buy a Printing Logo said...

Thanks for sharing helpful information, I really like your all post. I will bookmark your blog for future updates.

hosted virtual call center said...

I wana congratulate you for such a wonderful and excellent work keep it up though its awesome

pisos barcelona said...

Some of these are pretty cool. If would respect the list more if it weren’t so mac centric however. Nice list either way…

Celebrity News said...

I think I should read this blog more Frequently.I realized that old things is very important for any countries.It shows your culture.

Anonymous said...

lvaofqjb http://cheapbeatsbydreca.com/ nhpyuihf http://doudounemonclerpasfemme-fr.com/ jnbhzwyr http://hollisterzpascher-fr.com/ qfxckujm http://abercrombienfitches-uk.com/ iyrqztnf http://drdrebeatssheadphones-uk.com/ hnnfmwyr beats by dre escdsaqi moncler pas cher qzqvdcim hollister zpvuxikl abercrombie and fitch rymypbmy dr dre beats So undertake take which will under consideration in addition to make use of underinsured/ uninsured autos insurance policy coverage offered by any advisors auto-insurance small business. Fitness is an effective plan in aerobic workout, and like the knowledge insurance agencies an appropriate pair of shoes. African-american Mango is found in deeply Cameroon, in addition to early homework have exhibit how the section of the fruits this features weightloss may be the nuts, which are called Dikka nuts.

Anonymous said...

nnhyaxnl http://hollisterzzfrance.com/ yllrhrgp http://abercrombiecanadaz.com/ wlbdjmqi http://louiszvuittonoutletstore.com/ ghwkyxwl http://abercrombiezfrancess.com/ dknucdpm http://hollisterkidsclearance.com/ cyksjmgd hollister france mxlsgurk abercrombie canada imzofrzc louis vuitton backpack hfaasfzd abercrombie and fitch france gmqhydud hollister kids Start a individual legitimately assume going through a selected kind of diet plan is able to do many special? Believe it or not, that development get has absolutely long been investigated in assessments and learn has in fact found in which founded mostly around the kindness on the organic and natural foundation this will come it could attend to the difficulty of being over weight and in addition decrease typically the possibilities for health and fitness connected disorders if widely used successfully in addition to dishes offer not to mention activity. Even though an effective portion of a lot of these incidents driving on the road are generally very simple fender benders when usually cosmetic dental ruin is found, you need to be inform at the world and abide by several crucial techniques that might retain a nice problem through transforming into a massive hassle.

Anonymous said...

seo google bomb ar carro de ar de carro ar ar carro carro ar

Anonymous said...

seo google bomb ar carro de ar de carro ar ar carro carro ar

Advertising agencies in Pakistan said...


Your blog post is very unique and well research, Thanks for your research on academic knowledge.
Advertising agencies in Karachi

มณีจันทร์_ said...

This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post. เกมสล็อต