DCSIMG
Chapter One - Design Patterns - Gil Fink's Blog

Gil Fink's Blog

Fink about IT

News

Microsoft MVP

My Facebook Profile My Twitter Profile My Linkedin Profile

Locations of visitors to this page

Creative Commons License

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
© Copyright 2011 Gil Fink

Hebrew Articles

Index Pages

My OSS Projects

English Articles

Chapter One - Design Patterns

Prolog - the book
Did you ever wonder what makes a good solution?
Did you ever thought why solutions sometime fall apart?
Somebody asked me once why do I think that my solution to a problem is good.
To tell you the truth, Only time will tell if the solution was good or not.
The only thing that I can be sure about is that I try to simplify my solutions and I'm using a lot of design patterns on the way.

I was first introduced to design patterns in a J2EE elective course when I was a computer science student.
The lecturer introduced us to the "bible" of design patterns - Design Patterns: Elements of Reusable Object-Oriented Software.
I remember hearing other students saying things like "I'm not going to bother myself in reading that book. this is only an elective course.". 
Puzzled about design patterns, I went and bought the book and it changed my point of view about programing forever.
I often find myself, even in these days, reading chapters from that book and the book is placed in my home library.

So, what are design patterns?
From Wikipedia - "a design pattern is a general reusable solution to a commonly occurring problem in software design.
A design pattern is not a finished design that can be transformed directly into code.
It is a description or template for how to solve a problem that can be used in many different situations."
The patterns are divided to three groups by their purpose - structural patterns, creational patterns and behavioral patterns.
The structural patterns deal with composition of classes and objects to form larger structures.
The creational patterns deal with the process of object creation.
The behavioral patterns deal with classes or object interaction and algorithms. 
In the next post series I'm going to drill down into some common design patterns that I'm using often including implementation in C# and use cases. 

The book details on amazon:

Design Patterns: Elements of Reusable Object-Oriented Software
(Addison-Wesley Professional Computing Series)


ISBN: 0201633612
ISBN-13: 9780201633610




Comments

Dotmad (on .Net) said:

I have to disagree with Gil's (welcome to the blogosphere) recommendation regarding the classic DP

# February 16, 2008 12:24 PM

Gil Fink said:

Hi Dotmad,

Everyone has an opinion about books and I respect your opinion.

you wrote in your blog - "I found it very hard to read, focusing on theory (as opposed to practice), and laking use of .Net framework features (since it was not written for .Net users).".

The book was published in 1995 and .Net framework wasn't out there these days.

I agree that the book focus on theory which is why I was introduced to it while I was doing my BA in computer science (A degree that you focus a lot on theory and less on practice).

The site www.dofactory.com is great and there are lots of books about design patterns for .Net programmers.

Eventhough, I always have a warm place to that book.

Gil

# February 16, 2008 2:20 PM

Ido Flatow said:

There is a great site for patterns that belongs to Martin Fowler, one of the Guru's of patterns - www.martinfowler.com

Remember that patterns are not only for designs - you have patterns in analysis, architecture, even patterns in project management.

And if you've already entered the world of patterns, I suggest you read about anti-patterns too.

# February 17, 2008 11:21 AM

Gil Fink said:

Hi Ido,

Thanks for your comment.

I have read two of Martin Fowler books - Patterns of Enterprise Application Architecture and Refactoring: Improving the Design of Existing Code.

As you said he is one of the Guru's of patterns.

Gil

# February 17, 2008 12:07 PM

Noam said:

There is also the highly recommend book "Design Patterns in C#" (www.oozinoz.com/dpcs.htm) which takes the GOF book and translate it to real life C# examples + adds more patterns not covered in the GOF original book

# February 18, 2008 3:01 PM

Gil Fink Blog said:

Lesson 1 - Structural Patterns In this lesson, I'm going to write about the first of the three design

# February 28, 2008 8:15 AM

Gil Fink's Blog said:

In this post I describe what are the structural design patterns and explain the first design pattern - the decorator.

# May 18, 2008 9:24 PM

Gil Fink's Blog said:

Structural Patterns In this lesson, I'm going to write about the first of the three design pattern

# May 19, 2008 10:06 PM