Exforsys

Online Training

Re: Design Patterns book

This is a discussion on Re: Design Patterns book within the Software Patterns forums, part of the Testing category; Bill Burris wrote: > "Tom Plunket" <tomas@fancy.org> wrote in message > news:lt4i9vcnnkjp01u5gqrg90ffgbhfge7enf@4ax....


Go Back   Exforsys > Testing > Software Patterns

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 07-11-2003, 11:10 AM
Robert E. Newby
Guest
 
Posts: n/a
Re: Design Patterns book

Bill Burris wrote:

> "Tom Plunket" <tomas@fancy.org> wrote in message
> news:lt4i9vcnnkjp01u5gqrg90ffgbhfge7enf@4ax.com...
> > Bill Burris wrote:
> >
> > > I am not interested in learning Smalltalk. I use C# & C++.

> >
> > You might find your skills in your languages will get better if
> > you try a new, different, language. The little Smalltalk that
> > I've screwed around with has made my understanding of 'advanced'
> > C++ way more solid.
> >

>
> I have screwed around with many programming languages (Assembly, Fortran,
> Basic, Pascal, Forth, Lisp, Logo, APL, C, C++, C#, Java, VHDL), over the
> last 25 years. There was a lot about Smalltalk in the magazines that I was
> reading back in the 80's, but I never got around to using it. During the
> 80s my real work was done using TTL, ECL, assembly & C. Screwing around
> with hardware design has given me a better understanding of what software is
> all about. Since 1990 most of my work has been done in C++. After trying
> out Java in 96, I switched back to C++. Since Jan 2001, most of my work has
> been in C#.
>
> The conclusion that I have arrived at is that I should be spending more time
> learning about design and not another programming language. I have no
> problem learning Smalltalk if that is the most efficient way to learn design
> patterns. I am not convinced yet that this is the way to go. Once I have
> finished reading the better design patterns books with C++, C#, & Java code,
> I might consider a Smalltalk book. Probably not since there are many other
> useful books to read.
>
> Books I have recently finished reading:
>
> Extreme Programming Explained by Beck
> Test Driven Development by Beck
> Refactoring by Fowler
> Essential C++ by Lippman
>
> Books which I am currently reading:
>
> Design Patterns by Gamma, Helm, Johnson, & Vlissides
> Generative Programming by Czarnecki, & Eisenecker
> Modern C++ Design by Alexandrescu
> C++ Templates by Vandevoorde & Josuttis
> Exceptional C++ by Sutter
> Implementing Application Frameworks by Fayad, Schmidt, Johnson
> Doing Hard Time by Douglass
> Geometric Tools for Computer Graphics by Schneider & Eberly
> Genetic Programming III by Koza
>
> Books I have on order:
>
> Real Time Design Patterns by Douglass
> Professional C# Design Patterns Applied by Wrox
> Thinking in C# by O'Brien & Eckel
> Game Physics by Eberly
>
> There are many other books I could add to the list, but they are irrelevant
> to the current discussion.
>
> I am not willing to add the burden of a Smalltalk book to my credit card and
> time, unless I am convinced that reading it will be more profitable then the
> other books on this list.
>
> The other day I was refactoring my C++ and C# code while waiting for the
> hardware guys to update their FPGA circuit. This got me thinking. With the
> right tools, I could be working on the hardware in parallel with the
> software. All it would take is a VHDL compiler, simulator and synthesis
> tool added to my development enviornment. I could then apply refactoring
> and design patterns to the hardware design. The way it is done now: The
> engineer draws his schematic changes on paper, and hands them to the CAD
> operator. The CAD operator then gives me the file to download into the
> FPGA. The engineer pokes at the hardware with the scope for a while, asking
> me to produce various test patterns in software. Then the cycle repeats.
>
> When refactoring my C++ & C# code, I sometimes move logic from one to the
> other. If I was refactoring the hardware at the same time, I could also
> make decisions about what should be in hardware and what should be in
> software.
>
> Bill
> --
> http://www.componentsnotebook.com/


Hi Bill,

Two of the most important contributions in the patterns arena, particularly on
the architectural side, are the pair of books in the Pattern-Oriented Sofware
Architecture series. Volume 1, A System of Patterns, provides a much
higher-level, integrative discussion than the GoF book does; it also
acknowledges and carefully references the GoF book where appropriate. Volume 2,
Patterns for Concurrent and Networked Objects, is a bit more specialized, as its
title implies. These are published by Wiley.

Also, IMO, knowledge and selective use of the UML is highly beneficial; I only
mention this because I do not see reference to it in your postings. Of course,
learning and working with UML is itself a large topic...

Regards,

Bob
--
Robert E. Newby

Principal Software Engineer
Vestmark, Inc.
500 Edgewater Drive, Suite 564
Wakefield, Massachusetts 01880 USA
781-224-3646 | Bob _ Newby @ vestmark . com | www . vestmark . com


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 07-11-2003, 06:05 PM
Bill Burris
Guest
 
Posts: n/a
Re: Design Patterns book

Thanks for the recommendations. Pattern-Oriented Software Architecture
series, Volume 1 & 2 are on my list of interesting books to read, it is just
a matter of when I will get around to them.

Another book I discovered yesterday is:
..NET Patterns: Architecture, Design, and Process by Christian Thilmany.

I am particularly interested in concurrent programming. I am now reading
Object-Oriented Multithreading Using C++ by Cameron & Tracey Hughes. They
also have a new book: Parallel & Distributed Programming Using C++, which I
will probably read.

I finished reading Real Time Design Patterns by Douglass. This is a well
written and informative book, but didn't help much with the work I am doing.
The patterns and discussion in the book are focused more on embedded
applications. My work involves multi-threading and soft real-time on
standard desktop computers. The first part of the book which gives the
background for real-time UML, architecture, patterns and process was very
interesting to read.

What I am looking for is some patterns dealing with pipelining using
separate threads for each stage of the pipeline, as well as techniques for
synchronizing multiple data streams into one. For example threads which
read data from different instruments which are then merged into one stream
of data structures. The data structure gets passed along the pipeline, with
data from different sources being inserted along the way. The data
structure then gets saved to mass storage and sent on to the GUI thread for
display. What makes things tricky is the less then 100% reliability of the
input data streams. The GPS receiver once per second sends out a correction
factor, to inform us how far off its one second pulse was. If the receiver
is too busy sending out data it might skip sending this out. The one second
pulse is used to trigger the data acquisition system, which interrupts the
computer. Occasionally noise causes an extra interrupt to occur. Without
careful monitoring of the timing for when data is received the data
structures may not be put together properly. The combination of the GPS
receiver and a 100MHz counter allows timing accuracy better than 50
nanoseconds. This is needed since we can't easily run cables for 10s to
100s of kilometers to use a single time reference for all sites. The
project home page is at http://csr.phys.ualberta.ca/csr/research/alta.htm

Bill

"Robert E. Newby" <"Bob _ Newby "@ vestmark . com> wrote in message >
> Two of the most important contributions in the patterns arena,

particularly on
> the architectural side, are the pair of books in the Pattern-Oriented

Sofware
> Architecture series. Volume 1, A System of Patterns, provides a much
> higher-level, integrative discussion than the GoF book does; it also
> acknowledges and carefully references the GoF book where appropriate.

Volume 2,
> Patterns for Concurrent and Networked Objects, is a bit more specialized,

as its
> title implies. These are published by Wiley.
>
> Also, IMO, knowledge and selective use of the UML is highly beneficial; I

only
> mention this because I do not see reference to it in your postings. Of

course,
> learning and working with UML is itself a large topic...
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 07-14-2003, 01:56 PM
Robert E. Newby
Guest
 
Posts: n/a
Re: Design Patterns book

Bill Burris wrote:
>
> Thanks for the recommendations. Pattern-Oriented Software Architecture
> series, Volume 1 & 2 are on my list of interesting books to read, it is just
> a matter of when I will get around to them.
>
> Another book I discovered yesterday is:
> .NET Patterns: Architecture, Design, and Process by Christian Thilmany.
>
> I am particularly interested in concurrent programming. I am now reading
> Object-Oriented Multithreading Using C++ by Cameron & Tracey Hughes. They
> also have a new book: Parallel & Distributed Programming Using C++, which I
> will probably read.
>
> I finished reading Real Time Design Patterns by Douglass. This is a well
> written and informative book, but didn't help much with the work I am doing.
> The patterns and discussion in the book are focused more on embedded
> applications. My work involves multi-threading and soft real-time on
> standard desktop computers. The first part of the book which gives the
> background for real-time UML, architecture, patterns and process was very
> interesting to read.
>
> What I am looking for is some patterns dealing with pipelining using
> separate threads for each stage of the pipeline, as well as techniques for
> synchronizing multiple data streams into one. For example threads which
> read data from different instruments which are then merged into one stream
> of data structures. The data structure gets passed along the pipeline, with
> data from different sources being inserted along the way. The data
> structure then gets saved to mass storage and sent on to the GUI thread for
> display. What makes things tricky is the less then 100% reliability of the
> input data streams. The GPS receiver once per second sends out a correction
> factor, to inform us how far off its one second pulse was. If the receiver
> is too busy sending out data it might skip sending this out. The one second
> pulse is used to trigger the data acquisition system, which interrupts the
> computer. Occasionally noise causes an extra interrupt to occur. Without
> careful monitoring of the timing for when data is received the data
> structures may not be put together properly. The combination of the GPS
> receiver and a 100MHz counter allows timing accuracy better than 50
> nanoseconds. This is needed since we can't easily run cables for 10s to
> 100s of kilometers to use a single time reference for all sites. The
> project home page is at http://csr.phys.ualberta.ca/csr/research/alta.htm
>
> Bill
>
> "Robert E. Newby" <"Bob _ Newby "@ vestmark . com> wrote in message >
> > Two of the most important contributions in the patterns arena,

> particularly on
> > the architectural side, are the pair of books in the Pattern-Oriented

> Sofware
> > Architecture series. Volume 1, A System of Patterns, provides a much
> > higher-level, integrative discussion than the GoF book does; it also
> > acknowledges and carefully references the GoF book where appropriate.

> Volume 2,
> > Patterns for Concurrent and Networked Objects, is a bit more specialized,

> as its
> > title implies. These are published by Wiley.
> >
> > Also, IMO, knowledge and selective use of the UML is highly beneficial; I

> only
> > mention this because I do not see reference to it in your postings. Of

> course,
> > learning and working with UML is itself a large topic...
> >


Sounds like a fascinating project. Good luck with it.
--
Robert E. Newby

Principal Software Engineer
Vestmark, Inc.
500 Edgewater Drive, Suite 564
Wakefield, Massachusetts 01880 USA
781-224-3646 | Bob _ Newby @ vestmark . com | www . vestmark . com
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 06-29-2004, 07:51 AM
bspann88@comcast.net
Guest
 
Posts: n/a
Re: Design Patterns book

On Fri, 11 Jul 2003 15:05:06 -0600, "Bill Burris" <wburris@ualbera.ca>
wrote:

>Thanks for the recommendations. Pattern-Oriented Software Architecture
>series, Volume 1 & 2 are on my list of interesting books to read, it is just
>a matter of when I will get around to them.
>
>Another book I discovered yesterday is:
>.NET Patterns: Architecture, Design, and Process by Christian Thilmany.
>
>I am particularly interested in concurrent programming. I am now reading
>Object-Oriented Multithreading Using C++ by Cameron & Tracey Hughes. They
>also have a new book: Parallel & Distributed Programming Using C++, which I
>will probably read.
>
>I finished reading Real Time Design Patterns by Douglass. This is a well
>written and informative book, but didn't help much with the work I am doing.
>The patterns and discussion in the book are focused more on embedded
>applications. My work involves multi-threading and soft real-time on
>standard desktop computers. The first part of the book which gives the
>background for real-time UML, architecture, patterns and process was very
>interesting to read.
>
>What I am looking for is some patterns dealing with pipelining using
>separate threads for each stage of the pipeline, as well as techniques for
>synchronizing multiple data streams into one. For example threads which
>read data from different instruments which are then merged into one stream
>of data structures. The data structure gets passed along the pipeline, with
>data from different sources being inserted along the way. The data
>structure then gets saved to mass storage and sent on to the GUI thread for
>display. What makes things tricky is the less then 100% reliability of the
>input data streams. The GPS receiver once per second sends out a correction
>factor, to inform us how far off its one second pulse was. If the receiver
>is too busy sending out data it might skip sending this out. The one second
>pulse is used to trigger the data acquisition system, which interrupts the
>computer. Occasionally noise causes an extra interrupt to occur. Without
>careful monitoring of the timing for when data is received the data
>structures may not be put together properly. The combination of the GPS
>receiver and a 100MHz counter allows timing accuracy better than 50
>nanoseconds. This is needed since we can't easily run cables for 10s to
>100s of kilometers to use a single time reference for all sites. The
>project home page is at http://csr.phys.ualberta.ca/csr/research/alta.htm
>
>Bill
>
>"Robert E. Newby" <"Bob _ Newby "@ vestmark . com> wrote in message >
>> Two of the most important contributions in the patterns arena,

>particularly on
>> the architectural side, are the pair of books in the Pattern-Oriented

>Sofware
>> Architecture series. Volume 1, A System of Patterns, provides a much
>> higher-level, integrative discussion than the GoF book does; it also
>> acknowledges and carefully references the GoF book where appropriate.

>Volume 2,
>> Patterns for Concurrent and Networked Objects, is a bit more specialized,

>as its
>> title implies. These are published by Wiley.
>>
>> Also, IMO, knowledge and selective use of the UML is highly beneficial; I

>only
>> mention this because I do not see reference to it in your postings. Of

>course,
>> learning and working with UML is itself a large topic...
>>

>


Bill,

My recommendation for patterns books are as follows:

First, start off reading Design Patterns in C# by Steven John Metsker
(Addison-Wesley). That book will replace the GOF book that you
mentioned in your book list. Then I would buy/read Patterns of
Enterprise Application Architecture by Martin Fowler (Addison-Wesley).
From that book you should read Domain-Driven Design written by Eric
Evens (Addison-Wesley).

In my opinion, if you are going to read about design patterns then
read the books from Addison-Wesley. They are really good. I bought a
book from Wrox about design patterns and wished I could return the
book.

Brian
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 05:19 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Copyright 2004 - 2007 Exforsys Inc. All rights reserved.