473,575 Members | 3,321 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

good books for design patterns?

Here are a few I'm considering:

Design Patterns Explained : A New Perspective on Object-Oriented Design
(2nd Edition) (Software Patterns Series) by Alan Shalloway

Design Patterns C# by Steven John Metsker

Design Patterns by Erich Gamma

Head First Design Patterns by Elisabeth Freeman
Basically I'm looking for a good intro to what design patterns are
(since I don't know them). I've heard the first book is a good one, but
it uses Java examples. I read on Amazon that the second book is geared
more toward those who already understand design patterns. The third
seems to be the classic, but I worry that it's written more for
experienced programmers also. The fourth seems like another intro book,
but I don't know if it deals with C# much.

Any recommendations between these four, or others?

Thanks.
Nov 17 '05 #1
13 6541
I favor
"Head First Design Patterns". You can easily translate the examples to
C#. See the reviews on Amazon.

Once you are familiar with the standard DPs, you might find this free e-book
of interest:
http://www.frontiernet.net/~fredm/dps/Contents.htm
which specializes some of the classic design patterns to do graph searching.
It uses C# and shows how generics can be used to effect in implementing
design patterns.
"John Salerno" <jo******@NOSPA Mgmail.com> wrote in message
news:gZ******** ************@rc n.net...
Here are a few I'm considering:

Design Patterns Explained : A New Perspective on Object-Oriented Design
(2nd Edition) (Software Patterns Series) by Alan Shalloway

Design Patterns C# by Steven John Metsker

Design Patterns by Erich Gamma

Head First Design Patterns by Elisabeth Freeman
Basically I'm looking for a good intro to what design patterns are (since
I don't know them). I've heard the first book is a good one, but it uses
Java examples. I read on Amazon that the second book is geared more toward
those who already understand design patterns. The third seems to be the
classic, but I worry that it's written more for experienced programmers
also. The fourth seems like another intro book, but I don't know if it
deals with C# much.

Any recommendations between these four, or others?

Thanks.

Nov 17 '05 #2
Hi John,
I have a copy of the first book "Design Patterns Explained" - although I
cannot compare it against the other books you mentioned because I haven't
read them, I really recommend this book.

It's code examples are in Java, but all examples are fairly basic and do
not use Java Specific classes, so easily translated into C#, plus the
examples in code are not the heart of the book, they just help detail the
concepts.

The book oultlines all the major design patterns really thoroughly, but it
also does an excellent job of talking about what design patterns are from the
ground up and after reading this book you really get a good understanding of
the ideals behind design patterns and how they relate to OOP. The examples
used to emphasise each design pattern are well thought out and clear.

I definitely learnt a lot from reading this book - definitely worth buying
in my opinion. Infact I bought it twice, once for myself and then as a
present for one of my friends :-)

My $0.02 :-)

Mark R Dawson

"John Salerno" wrote:
Here are a few I'm considering:

Design Patterns Explained : A New Perspective on Object-Oriented Design
(2nd Edition) (Software Patterns Series) by Alan Shalloway

Design Patterns C# by Steven John Metsker

Design Patterns by Erich Gamma

Head First Design Patterns by Elisabeth Freeman
Basically I'm looking for a good intro to what design patterns are
(since I don't know them). I've heard the first book is a good one, but
it uses Java examples. I read on Amazon that the second book is geared
more toward those who already understand design patterns. The third
seems to be the classic, but I worry that it's written more for
experienced programmers also. The fourth seems like another intro book,
but I don't know if it deals with C# much.

Any recommendations between these four, or others?

Thanks.

Nov 17 '05 #3
Mark R. Dawson wrote:
Hi John,
I have a copy of the first book "Design Patterns Explained" - although I
cannot compare it against the other books you mentioned because I haven't
read them, I really recommend this book.

It's code examples are in Java, but all examples are fairly basic and do
not use Java Specific classes, so easily translated into C#, plus the
examples in code are not the heart of the book, they just help detail the
concepts.

The book oultlines all the major design patterns really thoroughly, but it
also does an excellent job of talking about what design patterns are from the
ground up and after reading this book you really get a good understanding of
the ideals behind design patterns and how they relate to OOP. The examples
used to emphasise each design pattern are well thought out and clear.

I definitely learnt a lot from reading this book - definitely worth buying
in my opinion. Infact I bought it twice, once for myself and then as a
present for one of my friends :-)


Thanks. I've been leaning toward this one simply because it does seem to
be a good book for explaining the basics and isn't necessarily aimed at
professionals. "Head First" is another one that fits this category, so I
might check these out.
Nov 17 '05 #4
Thanks John for asking this question. I've owned the GOF "Design Patterns"
book for four years now, and I find it utterly confusing. IMHO it's written
as if the reader is already knowledgable in design patterns, and just wants a
reference. I've used a few design patterns in my code (namely Singleton,
Observer, and Mediator), and what I've learnt about them I got (mostly) from
other sources. I think I'll purchase "Design Patterns Explained", as
recommended by Mark.

- Javaman

"John Salerno" wrote:
Mark R. Dawson wrote:
Hi John,
I have a copy of the first book "Design Patterns Explained" - although I
cannot compare it against the other books you mentioned because I haven't
read them, I really recommend this book.

It's code examples are in Java, but all examples are fairly basic and do
not use Java Specific classes, so easily translated into C#, plus the
examples in code are not the heart of the book, they just help detail the
concepts.

The book oultlines all the major design patterns really thoroughly, but it
also does an excellent job of talking about what design patterns are from the
ground up and after reading this book you really get a good understanding of
the ideals behind design patterns and how they relate to OOP. The examples
used to emphasise each design pattern are well thought out and clear.

I definitely learnt a lot from reading this book - definitely worth buying
in my opinion. Infact I bought it twice, once for myself and then as a
present for one of my friends :-)


Thanks. I've been leaning toward this one simply because it does seem to
be a good book for explaining the basics and isn't necessarily aimed at
professionals. "Head First" is another one that fits this category, so I
might check these out.

Nov 17 '05 #5
Javaman59 wrote:
Thanks John for asking this question. I've owned the GOF "Design Patterns"
book for four years now, and I find it utterly confusing. IMHO it's written
as if the reader is already knowledgable in design patterns, and just wants a
reference. I've used a few design patterns in my code (namely Singleton,
Observer, and Mediator), and what I've learnt about them I got (mostly) from
other sources. I think I'll purchase "Design Patterns Explained", as
recommended by Mark.


Glad my question could help you too! Based on reviews I've read from
Amazon.com, "DP Explained" seems to be a great book even for those of us
not familiar with the patterns. Like I said, I was leaning toward it
anyway because I think most others I've come across are geared toward
experienced programmers.

And since you mention that the original GOF book is a little advanced, I
think I'll steer away from that one for now.
Nov 17 '05 #6
rkc
John Salerno wrote:
Thanks. I've been leaning toward this one simply because it does seem to
be a good book for explaining the basics and isn't necessarily aimed at
professionals. "Head First" is another one that fits this category, so I
might check these out.


The code in Head First Design Patterns is Java, but the book is
informative, entertaining and enlightening enough so that even a
a numb skull like myself was able to grasp the concepts. Reading
the GOF book was painful. Head First was a fun read.
Nov 17 '05 #7
Hi,

Have you considered the material from Patterns & Practices? There is
http://msdn.microsoft.com/practices/...s/html/esp.asp
or Enterprise Solution Patterns using .NET. Describes fairly well
various patterns and besides includes an implemetation on .NET.

Other good book, altough not a .NET one is "Applied Java Patterns" by
Steltting and Maasassen.

Regards,

MArtín Trejo Chávez
Chilli Coder

John Salerno escribió:
Here are a few I'm considering:

Design Patterns Explained : A New Perspective on Object-Oriented Design
(2nd Edition) (Software Patterns Series) by Alan Shalloway

Design Patterns C# by Steven John Metsker

Design Patterns by Erich Gamma

Head First Design Patterns by Elisabeth Freeman
Basically I'm looking for a good intro to what design patterns are
(since I don't know them). I've heard the first book is a good one, but
it uses Java examples. I read on Amazon that the second book is geared
more toward those who already understand design patterns. The third
seems to be the classic, but I worry that it's written more for
experienced programmers also. The fourth seems like another intro book,
but I don't know if it deals with C# much.

Any recommendations between these four, or others?

Thanks.

Nov 17 '05 #8
The GOF book is definitely not useful for a quick read. Reality check: it
was originally Erich Gamma's Doctoral Dissertation. That should explain the
terseness of the language.

I've found that the only way to understand the GoF book is to join a design
patterns study group in your area. Then, you get what you are looking for.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"Javaman59" <Ja*******@disc ussions.microso ft.com> wrote in message
news:33******** *************** ***********@mic rosoft.com...
Thanks John for asking this question. I've owned the GOF "Design Patterns"
book for four years now, and I find it utterly confusing. IMHO it's
written
as if the reader is already knowledgable in design patterns, and just
wants a
reference. I've used a few design patterns in my code (namely Singleton,
Observer, and Mediator), and what I've learnt about them I got (mostly)
from
other sources. I think I'll purchase "Design Patterns Explained", as
recommended by Mark.

- Javaman

"John Salerno" wrote:
Mark R. Dawson wrote:
> Hi John,
> I have a copy of the first book "Design Patterns Explained" -
> although I
> cannot compare it against the other books you mentioned because I
> haven't
> read them, I really recommend this book.
>
> It's code examples are in Java, but all examples are fairly basic and
> do
> not use Java Specific classes, so easily translated into C#, plus the
> examples in code are not the heart of the book, they just help detail
> the
> concepts.
>
> The book oultlines all the major design patterns really thoroughly,
> but it
> also does an excellent job of talking about what design patterns are
> from the
> ground up and after reading this book you really get a good
> understanding of
> the ideals behind design patterns and how they relate to OOP. The
> examples
> used to emphasise each design pattern are well thought out and clear.
>
> I definitely learnt a lot from reading this book - definitely worth
> buying
> in my opinion. Infact I bought it twice, once for myself and then as a
> present for one of my friends :-)


Thanks. I've been leaning toward this one simply because it does seem to
be a good book for explaining the basics and isn't necessarily aimed at
professionals. "Head First" is another one that fits this category, so I
might check these out.

Nov 17 '05 #9
John Salerno wrote:
Any recommendations between these four, or others?


I just ordered "Design Patterns in C#" by Steven John Metsker on Friday.

I looked at "Design Patterns: Elements of Reusable Object-Oriented Soft-
ware" by Erich Gamma back in the days when I wanted to start learning
about design patterns, but I did not know C++. I could not get past the
introduction.

After I had learned the basics of Smalltalk, I bought the "Design Patterns
Smalltalk Companion" by Sherman Alpert when it came out. I understood a
few of the patterns, but I had to shelve Smalltalk when it collapsed in
the marketplace.

If I remember correctly, you are learning C# and you have not studied C++
nor Java. Although Java and C# are very similar software languages in
comparison to C++ and Smalltalk, a book with Java examples may be counter-
productive to you.

The Addison-Wesley web site has a sample chapter from "Design Patterns in
C#" for review. I do not know why they picked the Adapter pattern as the
sample because the Singleton or Observer pattern would of made a simpler
pattern as an example of the writing, that is, most people learn these two
patterns first.

http://www.awprofessional.com/title/0321126971

I find the Adapter sample chapter in the .pdf version easier to read than
the html:

http://www.awprofessional.com/conten...etskerch03.pdf

Anyway, my plan is to digest "Design Patterns in C#" whether it is an easy
swallow or not.

Doug
Nov 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
3570
by: matty | last post by:
Go away for a few days and you miss it all... A few opinions... Programming is a craft more than an art (software engineering, not black magic) and as such, is about writing code that works, first and foremost. If it works well, even better. The same goes for ease of maintenance, memory footprint, speed, etc, etc. Most of the time,...
2
3462
by: ggg | last post by:
I'm looking for a complete project/application done with heavy use of of object-oriented programming & design. Preferably something well documented and/or commented so that I can pick it apart and learn how/why they designed it they way they did. Any suggestions?
4
1817
by: Luis Esteban Valencia | last post by:
Hello. Can somebody recomend me books of design patterns in c# and best practices too.
17
1879
by: I_got_questions? | last post by:
I just started c programming. I want to migrate to c++. I know a little bit about class/inheritance. I am asking for good books to read. Elementary will be good. Thanks for any comments
1
1214
by: John | last post by:
I took an hour or two to browse for articles, sites, and books that discuss practical patterns and best practices for XML Web Services in .NET. Essentially, I've gone through the Quick Starts <a href="http://samples.gotdotnet.com/quickstart/aspplus/doc/webservicesintro.aspx">here</a> and have created my own web service. Now I want to steal...
11
3718
by: CellDivider | last post by:
Hello folks, currently I'm looking for a good books that gives an overview of useful c/c++ algorithms and design patterns, in the manner of "what's the most efficient way to implement <often used function", singleton pattern etc. pp. . It should cover as much as possible. How good is this one?
5
2735
by: macca | last post by:
Hi, I'm looking for a good book on PHP design patterns for a OOP beginner - Reccommendations please? Thanks Paul
76
4015
by: lorlarz | last post by:
Crockford's JavaScript, The Good Parts (a book review). This shall perhaps be the world's shortest book review (for one of the world's shortests books). I like Douglas Crockford (because I am a crabby old man too; plus he _is_ smart and good).. But, how can he write a book on the good parts of JavaScript and not mention functions that...
0
7775
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
8120
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
8281
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7868
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
8143
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
0
6515
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
0
5338
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3797
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1382
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.