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. Patterns!

Patterns!

Scheduled Pinned Locked Moved The Lounge
csharpcomgraphicsgame-devregex
23 Posts 8 Posters 0 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.
  • P PIEBALDconsult

    Yes, that's what seems to have happened, but they didn't start out that way. At their best, Design Patterns simply give developers a set of common terminoloy for various techniques. They are not intended to limit developers' creativity and choices. Think of the GOF book as a dictionary, not as a play book.

    You'll never get very far if all you do is follow instructions.

    S Offline
    S Offline
    Super Lloyd
    wrote on last edited by
    #6

    PIEBALDconsult wrote:

    Yes, that's what seems to have happened, but they didn't start out that way.

    I think you nailed it there! :)

    My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

    1 Reply Last reply
    0
    • B Bastien Vandamme

      It should exist an anti pattern called "Pattern programming" I'm also surrounded by developers swearing by pattern and I'm in an Agile team. For me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge and there is no reason to think in term of patterns or pre defined solutions. Most important is not to know a pattern but to know the anti patterns.

      S Offline
      S Offline
      Super Lloyd
      wrote on last edited by
      #7

      I had a good laugh reading that! :-D But it's true! :omg:

      My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

      1 Reply Last reply
      0
      • L Lost User

        We all got shafted by patterns when they became interview questions. Just search this site for a belly laugh.

        Peter Wasser "The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts." - Bertrand Russell

        S Offline
        S Offline
        Super Lloyd
        wrote on last edited by
        #8

        Another good observation! ;P

        My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

        1 Reply Last reply
        0
        • M Mycroft Holmes

          I think your final observation is the correct one, I don't see patterns "imposing", being imposed by stubborn, hide bound old senior devs (ow that hurt) happens of course but I'm slowly relearning to be more flexible, honest. Patterns are a tool, people become comfortable and productive with a toolset, changing reduces that and most of us are too lazy to do that willingly. Arguing over the merits of patterns is simply a form of entertainment, give the silly buggers some work to do, that generally shuts them up!

          Never underestimate the power of human stupidity RAH

          S Offline
          S Offline
          Super Lloyd
          wrote on last edited by
          #9

          Mycroft Holmes wrote:

          Arguing over the merits of patterns is simply a form of entertainment

          I wish it could be that! Right now is do my righteous way or no way! X|

          My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

          1 Reply Last reply
          0
          • S Super Lloyd

            It's finally occurred to me that when it is a pattern, it is by definition inefficient and counter productive. It became clear as I am surrounded by guys swearing by pattern this, pattern that! If it's a good technique why do you need to impose it? Shouldn't it self evidently win everyone heart? Nope because patterns are more like religion, used stubbornly in spite of contrary evidence. I rather prefer the term technique. Technique is something you should learn first. Then you use it or not, whether it helps you or not. And its need is self evident. If it's not obviously needed there is no need to use or impose it either. Plus one can improve upon a technique, whereas one cannot touch the holy pattern until a new software best seller fad comes along! :~ Remark maybe it has nothing to do with pattern but more to do with stupid people imposing their rote learning on me... :((

            My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

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

            The problem is not with the patterns. When used with thought, they indeed help in solving problems without causing new ones. The real problem are the people. The simple version is the Voodoo programmer. Those people have little to no understanding of what they are doing. Instead, they try to copy and paste code snippets, of which they must have an impressive collection. And this collection is then used like a book of magic spells for and against every situation. More 'advanced' Voodoo programmers have made an art of at least appearing less stupid. They have endless lists of rulrs, coventions and patterns (which in reality are just nice names for their magic code snippets) and want everyone to follow these rules just as religiously as they are. Remember, they more often than not they really don't understand their magic spells. They use things because 'it's a pattern', or beacause 'Mr. ABC said so in his book/article/blog/speech/whatever'. In some companies management really likes religious code monkeys. They are easier to manage, cost less and look sufficiently competent to outsiders.

            The language is JavaScript. that of Mordor, which I will not utter here
            I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

            B S 2 Replies Last reply
            0
            • P PIEBALDconsult

              Yes, that's what seems to have happened, but they didn't start out that way. At their best, Design Patterns simply give developers a set of common terminoloy for various techniques. They are not intended to limit developers' creativity and choices. Think of the GOF book as a dictionary, not as a play book.

              You'll never get very far if all you do is follow instructions.

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

              PIEBALDconsult wrote:

              They are not intended to limit developers' creativity and choices.

              They don't. Things go terribly wrong when people who could not program their way out of a wet paper bag mistake them with fail-safe magic spells. Why think when you have a 'pattern' for everything?

              The language is JavaScript. that of Mordor, which I will not utter here
              I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

              1 Reply Last reply
              0
              • B Bastien Vandamme

                It should exist an anti pattern called "Pattern programming" I'm also surrounded by developers swearing by pattern and I'm in an Agile team. For me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge and there is no reason to think in term of patterns or pre defined solutions. Most important is not to know a pattern but to know the anti patterns.

                J Offline
                J Offline
                Jorgen Andersson
                wrote on last edited by
                #12

                Hear hear.

                Wrong is evil and must be defeated. - Jeff Ello[^]

                S 1 Reply Last reply
                0
                • L Lost User

                  The problem is not with the patterns. When used with thought, they indeed help in solving problems without causing new ones. The real problem are the people. The simple version is the Voodoo programmer. Those people have little to no understanding of what they are doing. Instead, they try to copy and paste code snippets, of which they must have an impressive collection. And this collection is then used like a book of magic spells for and against every situation. More 'advanced' Voodoo programmers have made an art of at least appearing less stupid. They have endless lists of rulrs, coventions and patterns (which in reality are just nice names for their magic code snippets) and want everyone to follow these rules just as religiously as they are. Remember, they more often than not they really don't understand their magic spells. They use things because 'it's a pattern', or beacause 'Mr. ABC said so in his book/article/blog/speech/whatever'. In some companies management really likes religious code monkeys. They are easier to manage, cost less and look sufficiently competent to outsiders.

                  The language is JavaScript. that of Mordor, which I will not utter here
                  I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

                  B Offline
                  B Offline
                  Bastien Vandamme
                  wrote on last edited by
                  #13

                  Is this term "Voodoo programmers" your invention? That is fun. I call them the alchemist for the same reason. An alchemist don't do real magic. An alchemist combine products to create spells or a potions. Most of the time he only read precipices in a book. But for me an alchemist is not a bad programmer. He can be very good in his craft. He just prefer combine thinks than creating things. And yes today most companies prefer Alchemists or Voodoo programmers

                  S 1 Reply Last reply
                  0
                  • B Bastien Vandamme

                    Is this term "Voodoo programmers" your invention? That is fun. I call them the alchemist for the same reason. An alchemist don't do real magic. An alchemist combine products to create spells or a potions. Most of the time he only read precipices in a book. But for me an alchemist is not a bad programmer. He can be very good in his craft. He just prefer combine thinks than creating things. And yes today most companies prefer Alchemists or Voodoo programmers

                    S Offline
                    S Offline
                    Super Lloyd
                    wrote on last edited by
                    #14

                    It's as old as Methuselah! Or almost! Voodoo programming[^]

                    My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                    P 1 Reply Last reply
                    0
                    • L Lost User

                      The problem is not with the patterns. When used with thought, they indeed help in solving problems without causing new ones. The real problem are the people. The simple version is the Voodoo programmer. Those people have little to no understanding of what they are doing. Instead, they try to copy and paste code snippets, of which they must have an impressive collection. And this collection is then used like a book of magic spells for and against every situation. More 'advanced' Voodoo programmers have made an art of at least appearing less stupid. They have endless lists of rulrs, coventions and patterns (which in reality are just nice names for their magic code snippets) and want everyone to follow these rules just as religiously as they are. Remember, they more often than not they really don't understand their magic spells. They use things because 'it's a pattern', or beacause 'Mr. ABC said so in his book/article/blog/speech/whatever'. In some companies management really likes religious code monkeys. They are easier to manage, cost less and look sufficiently competent to outsiders.

                      The language is JavaScript. that of Mordor, which I will not utter here
                      I hold an A-7 computer expert classification, Commodore. I'm well acquainted with Dr. Daystrom's theories and discoveries. The basic design of all our ship's computers are JavaScript.

                      S Offline
                      S Offline
                      Super Lloyd
                      wrote on last edited by
                      #15

                      Woa, I think I understand magic now! :-D

                      My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                      1 Reply Last reply
                      0
                      • J Jorgen Andersson

                        Hear hear.

                        Wrong is evil and must be defeated. - Jeff Ello[^]

                        S Offline
                        S Offline
                        Super Lloyd
                        wrote on last edited by
                        #16

                        Jörgen Andersson wrote:

                        Wrong is evil and must be defeated. - Jeff Ello[^]

                        Interesting link you here!

                        My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                        J 1 Reply Last reply
                        0
                        • S Super Lloyd

                          Jörgen Andersson wrote:

                          Wrong is evil and must be defeated. - Jeff Ello[^]

                          Interesting link you here!

                          My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                          J Offline
                          J Offline
                          Jorgen Andersson
                          wrote on last edited by
                          #17

                          I believe he's spot on.

                          Wrong is evil and must be defeated. - Jeff Ello[^]

                          1 Reply Last reply
                          0
                          • B Bastien Vandamme

                            It should exist an anti pattern called "Pattern programming" I'm also surrounded by developers swearing by pattern and I'm in an Agile team. For me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge and there is no reason to think in term of patterns or pre defined solutions. Most important is not to know a pattern but to know the anti patterns.

                            B Offline
                            B Offline
                            BobJanova
                            wrote on last edited by
                            #18

                            B413 wrote:

                            or me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge

                            This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'. I work mostly on agile projects and I can tell you that design patterns are very important to make sure you develop in a way which can accommodate that change. If anything, getting a good framework design is more important in agile because it strongly affects your ability to adapt during development, and that's the essence of agile.

                            B 1 Reply Last reply
                            0
                            • S Super Lloyd

                              It's finally occurred to me that when it is a pattern, it is by definition inefficient and counter productive. It became clear as I am surrounded by guys swearing by pattern this, pattern that! If it's a good technique why do you need to impose it? Shouldn't it self evidently win everyone heart? Nope because patterns are more like religion, used stubbornly in spite of contrary evidence. I rather prefer the term technique. Technique is something you should learn first. Then you use it or not, whether it helps you or not. And its need is self evident. If it's not obviously needed there is no need to use or impose it either. Plus one can improve upon a technique, whereas one cannot touch the holy pattern until a new software best seller fad comes along! :~ Remark maybe it has nothing to do with pattern but more to do with stupid people imposing their rote learning on me... :((

                              My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                              B Offline
                              B Offline
                              BobJanova
                              wrote on last edited by
                              #19

                              Not everything that's right is obvious. Patterns are a codified set of guidelines and advice, including information about when they're appropriate, and they're useful precisely because it's not always obvious what the right answer is without some guidelines to help you. I think it's all about your last sentence, people being prescriptive with any guidelines, whether that be design patterns or coding standards or anything else to do with work, loses the point of what the guidelines were there for in the first place.

                              1 Reply Last reply
                              0
                              • S Super Lloyd

                                It's finally occurred to me that when it is a pattern, it is by definition inefficient and counter productive. It became clear as I am surrounded by guys swearing by pattern this, pattern that! If it's a good technique why do you need to impose it? Shouldn't it self evidently win everyone heart? Nope because patterns are more like religion, used stubbornly in spite of contrary evidence. I rather prefer the term technique. Technique is something you should learn first. Then you use it or not, whether it helps you or not. And its need is self evident. If it's not obviously needed there is no need to use or impose it either. Plus one can improve upon a technique, whereas one cannot touch the holy pattern until a new software best seller fad comes along! :~ Remark maybe it has nothing to do with pattern but more to do with stupid people imposing their rote learning on me... :((

                                My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                                D Offline
                                D Offline
                                Distind
                                wrote on last edited by
                                #20

                                I had this argument while I was still in college. A team member had decided the entire major was worthless because we had to use prescribed solutions to everything. Apparently having missed the point that these general solutions can (and should be) modified to fit a situation, and the point of our major was identifying when a pattern would be useful and exactly how to implement it in that situation to best benefit the software and our own sanity. I mean hell, look at adaptor. It's a stopgap solution to keep you from having to re-write libraries and nothing more. This isn't a sacred text it's a few useful ideas. But yeah, doesn't stop people from treating it like their personal bible.

                                S 1 Reply Last reply
                                0
                                • D Distind

                                  I had this argument while I was still in college. A team member had decided the entire major was worthless because we had to use prescribed solutions to everything. Apparently having missed the point that these general solutions can (and should be) modified to fit a situation, and the point of our major was identifying when a pattern would be useful and exactly how to implement it in that situation to best benefit the software and our own sanity. I mean hell, look at adaptor. It's a stopgap solution to keep you from having to re-write libraries and nothing more. This isn't a sacred text it's a few useful ideas. But yeah, doesn't stop people from treating it like their personal bible.

                                  S Offline
                                  S Offline
                                  Super Lloyd
                                  wrote on last edited by
                                  #21

                                  Thou shalt follow the hallowed word of the holy pattern! ;P

                                  My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

                                  1 Reply Last reply
                                  0
                                  • S Super Lloyd

                                    It's as old as Methuselah! Or almost! Voodoo programming[^]

                                    My programming get away... The Blog... DirectX for WinRT/C# since 2013! Taking over the world since 1371!

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

                                    I thought it was "cargo cult programming".

                                    You'll never get very far if all you do is follow instructions.

                                    1 Reply Last reply
                                    0
                                    • B BobJanova

                                      B413 wrote:

                                      or me there is an incompatibility between "pattern" and "Agility" because when you are Agile your architecture emerge

                                      This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'. I work mostly on agile projects and I can tell you that design patterns are very important to make sure you develop in a way which can accommodate that change. If anything, getting a good framework design is more important in agile because it strongly affects your ability to adapt during development, and that's the essence of agile.

                                      B Offline
                                      B Offline
                                      Bastien Vandamme
                                      wrote on last edited by
                                      #23

                                      BobJanova wrote:

                                      This sounds like the classic misunderstanding of agile that goes roughly along the lines of 'since things change, we never need to design'.

                                      Agility (and Scrum) pretend architecture emerge. I also work mostly on agile projects and I'm agree that design is very important to make sure you develop in a way which can accommodate that change but design patterns are not the only way to design something. I remember the time I had to argue against patterns that now are become anti pattern. And that the problem with patterns. When a pattern is not correct it's hard to argue against it because every book, every web page defend it until he became an anti pattern years latter... It is why I think it is more important to know its anti patterns. And I'm not talking about teams that don't really understand to goal of a pattern and that incorrectly implement it. And some patterns are so complex they don't respect the Keep It Simple and Stupid rule.

                                      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