Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Design patterns, any good books?

Design patterns, any good books?

Scheduled Pinned Locked Moved The Lounge
c++questioncsharpdesignregex
35 Posts 25 Posters 32 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Hamed Musavi

    I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

    // "Life is very short and is very fragile also." Yanni
    while (I'm_alive)
    {
    cout<<"I love programming.";
    }

    C Offline
    C Offline
    Christian Graus
    wrote on last edited by
    #2

    The obvious one is the one called Design Patterns, that's the core reference. Too many people have used the words 'design patterns' tenuously, and to help sell bad books, but that is the classic reference.

    Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )

    1 Reply Last reply
    0
    • H Hamed Musavi

      I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

      // "Life is very short and is very fragile also." Yanni
      while (I'm_alive)
      {
      cout<<"I love programming.";
      }

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #3

      Google book search returns this [^] There is also a number of good tutorials available via this Google search [^]

      C N 2 Replies Last reply
      0
      • L Lost User

        Google book search returns this [^] There is also a number of good tutorials available via this Google search [^]

        C Offline
        C Offline
        Christian Graus
        wrote on last edited by
        #4

        Funny, the book I'd expect everyone to recommend, is not on the front page of that search

        Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )

        K 1 Reply Last reply
        0
        • H Hamed Musavi

          I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

          // "Life is very short and is very fragile also." Yanni
          while (I'm_alive)
          {
          cout<<"I love programming.";
          }

          J Offline
          J Offline
          Justin Perez
          wrote on last edited by
          #5

          I'd recommend The Object Primer by Scott W. Ambler. Don't have a link, you can look it up though. At my work they bought everyone a copy.

          I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")

          1 Reply Last reply
          0
          • H Hamed Musavi

            I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

            // "Life is very short and is very fragile also." Yanni
            while (I'm_alive)
            {
            cout<<"I love programming.";
            }

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #6

            They mean this one http://en.wikipedia.org/wiki/Gang_of_Four_(software)[^]

            1 Reply Last reply
            0
            • H Hamed Musavi

              I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

              // "Life is very short and is very fragile also." Yanni
              while (I'm_alive)
              {
              cout<<"I love programming.";
              }

              R Offline
              R Offline
              Rama Krishna Vavilala
              wrote on last edited by
              #7

              Where it all started from. Design Patterns by Gang of Four[^] - This is all where it started. I have not found a good programmer who has not read this book. There are several other derivates of this book but that is the book.

              Co-Author ASP.NET AJAX in Action

              P 1 Reply Last reply
              0
              • R Rama Krishna Vavilala

                Where it all started from. Design Patterns by Gang of Four[^] - This is all where it started. I have not found a good programmer who has not read this book. There are several other derivates of this book but that is the book.

                Co-Author ASP.NET AJAX in Action

                P Offline
                P Offline
                Pete OHanlon
                wrote on last edited by
                #8

                Sounds like a good technical test. Tell candidates to bring in their technical library and if this book isn't in it, then they don't get the job.

                Deja View - the feeling that you've seen this post before.

                T 1 Reply Last reply
                0
                • P Pete OHanlon

                  Sounds like a good technical test. Tell candidates to bring in their technical library and if this book isn't in it, then they don't get the job.

                  Deja View - the feeling that you've seen this post before.

                  T Offline
                  T Offline
                  Tim Smith
                  wrote on last edited by
                  #9

                  Then on the other hand, if the only knowledge from the book they remember is the singleton pattern (one of the most abused and misunderstood patterns), then they don't get the job. In my experience, the Gang of Four book is little more than a coffee table book for most programmers. The programmers who do use it, usually use it poorly. The most common problem I see is the utilization of a "design pattern" because it is there, not because it is the correct application of the pattern. Normal programmers just produce god-awful code. The Gang of Four book provies people with the knowledge to produce complex god-awful code. :)

                  Tim Smith I'm going to patent thought. I have yet to see any prior art.

                  P 1 Reply Last reply
                  0
                  • C Christian Graus

                    Funny, the book I'd expect everyone to recommend, is not on the front page of that search

                    Christian Graus - Microsoft MVP - C++ "I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )

                    K Offline
                    K Offline
                    Kevin McFarlane
                    wrote on last edited by
                    #10

                    That's because the search was on "design patterns for beginners." The Gamma et al book IMO is not suitable for beginners. The book that is suitable is the first one in that list - Design Patterns Explained.

                    Kevin

                    L T 2 Replies Last reply
                    0
                    • H Hamed Musavi

                      I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

                      // "Life is very short and is very fragile also." Yanni
                      while (I'm_alive)
                      {
                      cout<<"I love programming.";
                      }

                      K Offline
                      K Offline
                      Kevin McFarlane
                      wrote on last edited by
                      #11

                      Design Patterns Explained http://www.amazon.com/Design-Patterns-Explained-Perspective-Object-Oriented/dp/0321247140[^] More accessible than the Gamma book IMO.

                      Kevin

                      1 Reply Last reply
                      0
                      • T Tim Smith

                        Then on the other hand, if the only knowledge from the book they remember is the singleton pattern (one of the most abused and misunderstood patterns), then they don't get the job. In my experience, the Gang of Four book is little more than a coffee table book for most programmers. The programmers who do use it, usually use it poorly. The most common problem I see is the utilization of a "design pattern" because it is there, not because it is the correct application of the pattern. Normal programmers just produce god-awful code. The Gang of Four book provies people with the knowledge to produce complex god-awful code. :)

                        Tim Smith I'm going to patent thought. I have yet to see any prior art.

                        P Offline
                        P Offline
                        Pete OHanlon
                        wrote on last edited by
                        #12

                        You were forgetting that this is just the bit to get past the first part of the interview.;P As I've stated in posts in the past, if somebody can't explain to me what the importance of composition is and how it works, they don't get any further.

                        Deja View - the feeling that you've seen this post before.

                        T 1 Reply Last reply
                        0
                        • H Hamed Musavi

                          I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

                          // "Life is very short and is very fragile also." Yanni
                          while (I'm_alive)
                          {
                          cout<<"I love programming.";
                          }

                          T Offline
                          T Offline
                          Tim Smith
                          wrote on last edited by
                          #13

                          For a new programmer, "Design Pattern" provide a good head start with learning what techniques work well and which ones don't. One of the biggest problems with design patterns is the inherent vagueness. This leads to design patterns appearing to be appropriate in situations where they aren't. Think of it this way. A design pattern book is like buying a 10 piece tool box from your local hardware store. For day to day things, that screwdriver works well, but it has limited use. A real craftsman has things that you just don't get with your average toolbox. 1) A vast collection of tools. Many of those tools are specialized for the type of work being done. (Learned patterns not found in books) 2) Sophistication while improvising. A real craftsman, when dealing with a problem doesn't resort to hammering in a nail with a pair of pliers. (Proper application of a design pattern) 3) Ability to create their own tools. These tools can be simple or complex. But they fill in a gap that the craftsman has encountered. (Creating your own design patterns) If design patterns work for you, then read everything you can get a hold of. But remember that those books are only a first step. Don't use a design pattern because the book says so, use it because you understand the problem and how the design pattern resolves the problem. Understand the positives and negatives of using the pattern. (And yes, there will be negatives) Design patterns are just a formalized way of documenting what people have been doing ever since the start of time.

                          Tim Smith I'm going to patent thought. I have yet to see any prior art.

                          H E 2 Replies Last reply
                          0
                          • P Pete OHanlon

                            You were forgetting that this is just the bit to get past the first part of the interview.;P As I've stated in posts in the past, if somebody can't explain to me what the importance of composition is and how it works, they don't get any further.

                            Deja View - the feeling that you've seen this post before.

                            T Offline
                            T Offline
                            Tim Smith
                            wrote on last edited by
                            #14

                            Just be kind to us old farts who have been doing that stuff since the dawn of time but don't know what the "composite pattern" means. And yes, I had to look it up. As usual, my response to reading it was "Well DUH, who wouldn't do that." :laugh:

                            Tim Smith I'm going to patent thought. I have yet to see any prior art.

                            1 Reply Last reply
                            0
                            • K Kevin McFarlane

                              That's because the search was on "design patterns for beginners." The Gamma et al book IMO is not suitable for beginners. The book that is suitable is the first one in that list - Design Patterns Explained.

                              Kevin

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #15

                              I gave the "for beginners" not knowing the full extent of Hamed's knowledge/experience. If I assumed incorrectly his status as "beginner", then I owe Hamad an apology for any insults inadvertently made.

                              H 1 Reply Last reply
                              0
                              • L Lost User

                                I gave the "for beginners" not knowing the full extent of Hamed's knowledge/experience. If I assumed incorrectly his status as "beginner", then I owe Hamad an apology for any insults inadvertently made.

                                H Offline
                                H Offline
                                Hamed Musavi
                                wrote on last edited by
                                #16

                                Richard A. Abbott wrote:

                                I owe Hamad an apology for any insults inadvertently made

                                Not at all Richard, don't mention it. In this industry, I noticed I'm always a beginner, because there's always a lot to learn, so your consideration is always true;)

                                // "Life is very short and is very fragile also." Yanni
                                while (I'm_alive)
                                {
                                cout<<"I love programming.";
                                }

                                1 Reply Last reply
                                0
                                • T Tim Smith

                                  For a new programmer, "Design Pattern" provide a good head start with learning what techniques work well and which ones don't. One of the biggest problems with design patterns is the inherent vagueness. This leads to design patterns appearing to be appropriate in situations where they aren't. Think of it this way. A design pattern book is like buying a 10 piece tool box from your local hardware store. For day to day things, that screwdriver works well, but it has limited use. A real craftsman has things that you just don't get with your average toolbox. 1) A vast collection of tools. Many of those tools are specialized for the type of work being done. (Learned patterns not found in books) 2) Sophistication while improvising. A real craftsman, when dealing with a problem doesn't resort to hammering in a nail with a pair of pliers. (Proper application of a design pattern) 3) Ability to create their own tools. These tools can be simple or complex. But they fill in a gap that the craftsman has encountered. (Creating your own design patterns) If design patterns work for you, then read everything you can get a hold of. But remember that those books are only a first step. Don't use a design pattern because the book says so, use it because you understand the problem and how the design pattern resolves the problem. Understand the positives and negatives of using the pattern. (And yes, there will be negatives) Design patterns are just a formalized way of documenting what people have been doing ever since the start of time.

                                  Tim Smith I'm going to patent thought. I have yet to see any prior art.

                                  H Offline
                                  H Offline
                                  Hamed Musavi
                                  wrote on last edited by
                                  #17

                                  As an stand alone programmer, I created a lot of softwares during the last five years. The first one is still working quite well, but guess which one is the best for maintenance? The last one. Because the way I code has changed by experience. Yesterday, when I saw Observer pattern, I said: "Oh Hamed, this is what you are using a year, without knowing it's a known design pattern, and if you knew this five years ago, you where a better programmer the first four years as well." I've learned that perhaps these design patterns are experiences of other programmers and perhaps there are things that I will learn by experience in next years of programming but why don't learn them now?

                                  Tim Smith wrote:

                                  One of the biggest problems with design patterns is the inherent vagueness.

                                  Sure I'll not force myself in to using what I don't have a good reason for, but it is likely to encounter with a simmilar scenario in another project, Isn't it? If so, knowing how people solved it, helps me do the same or even better. In short: Let's use other's experiences.:)

                                  // "Life is very short and is very fragile also." Yanni
                                  while (I'm_alive)
                                  {
                                  cout<<"I love programming.";
                                  }

                                  1 Reply Last reply
                                  0
                                  • H Hamed Musavi

                                    I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

                                    // "Life is very short and is very fragile also." Yanni
                                    while (I'm_alive)
                                    {
                                    cout<<"I love programming.";
                                    }

                                    J Offline
                                    J Offline
                                    Jorge Varas
                                    wrote on last edited by
                                    #18

                                    maybe you want to read this one too: http://www.datingdesignpatterns.com/ LOL!!! :laugh:

                                    D 1 Reply Last reply
                                    0
                                    • J Jorge Varas

                                      maybe you want to read this one too: http://www.datingdesignpatterns.com/ LOL!!! :laugh:

                                      D Offline
                                      D Offline
                                      DarkEye Dev
                                      wrote on last edited by
                                      #19

                                      I'm currently reading 'Head First Design Patterns' and would HIGHLY recommend it to anyone wanting to know about the main patterns out there. its full of great examples, diagrams and it is genuinely an interesting read. my girlfriend (a non-programmer) has even commented that it doesn't look like a software book! i.e. it looks fun and it is fun - remember that its not always easy to read a 600 page technical book and stay interested, but im steaming through this one! check it out on amazon: http://www.amazon.com/Head-First-Design-Patterns/dp/0596007124 good luck ;) Joe

                                      K 1 Reply Last reply
                                      0
                                      • H Hamed Musavi

                                        I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

                                        // "Life is very short and is very fragile also." Yanni
                                        while (I'm_alive)
                                        {
                                        cout<<"I love programming.";
                                        }

                                        D Offline
                                        D Offline
                                        DevMentor org
                                        wrote on last edited by
                                        #20

                                        The Wikipedia has some good content on this if you're looking for reference on Design Patterns. :-D

                                        Yours Truly, The One and Only! --- Rajinder Yadav devmentor.org

                                        1 Reply Last reply
                                        0
                                        • H Hamed Musavi

                                          I'm a c++ programmer and worked almost five years on c++, MFC and played a little bit with C#. By reading a few design pattern articles here in CP, I noticed during the last few years, my experience in coding shifted me towards following a special way of designing my classes that, with a cleaner implementation, is actually simmilar to known design patterns. I also noticed the bad habits and better design patterns in some other classes as well. I realized that these patterns are probably invaluable experiences of great programmers during their life time. I also found out what is the actual usage of those UMLs we learned in university and had no use for them in those days(Don't blame me, blame my university for teaching something without describing actual usage of it;P.) I decided to read as much design pattern books as I can! Which book(s) do you recommend on this(Design patterns) topic? Thanks a lot in advanced.

                                          // "Life is very short and is very fragile also." Yanni
                                          while (I'm_alive)
                                          {
                                          cout<<"I love programming.";
                                          }

                                          V Offline
                                          V Offline
                                          vytheese
                                          wrote on last edited by
                                          #21

                                          "Head First Design Pattern" is a excellent book to start with. I bet you can't put down the book util you finish the last cover :-D. Regards, Vythees

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups