|
- Design patterns are a response to solving the entanglement nightmare that OOD, while not creating, made more complex.
- While the formalization of the patterns was in some ways useful, the implementation often results in over-complexity and misapplication, especially by inexperienced programmers.
- Experienced programmers were already implementing decent ways to disentangle non-OO and OO code, so really, I think very little was gained by formalizing patterns. If anything, it made things worse for experienced developers who had to go in and fix the insanity of bad pattern application by less experienced developers.
Marc
|
|
|
|
|
I can relate to 2 & 3, we let a senior guy loose using MVC on one of our internal apps, bloody thing is unsupportable, he used a weird collection of patterns and achieved a brilliant form of obfuscation.
I hope nobody wants changes before we get it rewritten!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
What an excellent analysis (+5).
I am an old dog learning new tricks. When Design patterns were first revealed a decade ago, I didn't embrace the hype surrounding them that others were so eager to display... but I tried to give them a chance and accept them where appropriate.
Your comments describe perfectly what I experienced and struggled to encapsulate.
I'm retired. There's a nap for that...
- Harvey
|
|
|
|
|
It always seemed to me that Patterns were a sort of matryoshka doll attempt to fix that OO design mixes data and code, and not in the functional, 'the code is the data,' sort of way.
And I'm not too big on premature encapsulation, either.
As much as I am fascinated by Conway's Life, I wouldn't use gliders as a data transmission mechanism.
|
|
|
|
|
First your programmer's oath, then this. I can't fill my sig or bio with all of your posts!
I can relate to #2 and #3, we now have a lot of perfectly obfuscated code full of guru tricks that simply does not what it was supposed to do. Secretly my developing team isn't using that code - since 15 years and nobody noticed.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
"just eat it, eat it"."They're out to mold, better eat while you can" -- HobbyProggy
|
|
|
|
|
R. Giskard Reventlov wrote: I find it hard to take design patterns seriously
|
|
|
|
|
Wow, after all these years, the "pattern" was the BAD names!
(Light goes on)
That's what you get for taking coding advice from a Gang!
Which also explains why the term "Singleton" has an almost blatant "idiot" sound.
They like gangs. They hate individuals they are required to rely on.
|
|
|
|
|
Kirk 10389821 wrote: Which also explains why the term "Singleton"...
I've been around for a while (I got my CS degree in 1978). An interesting programming "technique" called "The singleton" was described to me by one of my professors circa 1975. This was long before OO technology was thought of and likewise long before patterns were formalized by the gang.
The patterns guys stole the concept and described it as their own.
I'm retired. There's a nap for that...
- Harvey
|
|
|
|
|
LOL,
the GoF did not invent ANY of the patterns (IMO), what they did was codified the concepts of standard objects and their integrations and responsibilities.
When I went to college some 15 years after you, the hole grail was finding a way to build software like they build computer chips. Well known pieces/components that slide together. Making the building of software so much easier.
Even then, I realized. Wait. How much does it cost to make the FIRST CHIP? (The rest are basically free). Is this the pattern (pun intended) that we want to follow? And it is a lot of UNCHANGEABLE fixed functionality.
Anyways, patterns/refactoring and permanent tests are a nice step in the right direction, but their overuse is just as bad as their under-use. I have no interest in testing with 6,000 mock objects, and believing that those passed tests means it will work in production...
Again, we were making light of the situation. They were like any other gang! Patterns are the drug they push, and they have to protect their brand, and show off their successful followers.
|
|
|
|
|
It does seem as if many developers use patterns as an excuse to create a monument to their own ego, rather than actually solving the problem at hand.
It's a tough thing though, finding that balance of enough flexibility to make things extensible, without making it so complex that maintenance becomes an overwhelmingly costly proposal.
|
|
|
|
|
Patterns are, like many other IT fads, an attempt to 'make it easy/more predictable/more maintainable' for noobie developers. Or stoopid developers. Surprising lot of these apparently.
It is somewhat analogous to a "paint-by-numbers" system.
And all the hide-bound, bureaucratic jobsworths out there in corporate developer-land loved it!
My claim: show me a developer who swears by patterns, and would not let go of them if asked by Jesus, then I will show you:
(a) a developer of below (developer) average intelligence
(b) a person who fears original thought
(c) a "real" case of "imposter syndrome". Ie, in their case they really are posing as skilled developers, and they are not.
|
|
|
|
|
Have to agree with everything.
I wrote this a couple of years back:
Quote: A slavish adherence to the fool's gold that can be design patterns may lead you down the path of over-engineered solutions that are hard to maintain and build upon. Whilst patterns, in a generalized way, are good for thinking about how to address a known or recurring problem they are not a one-size-fits-all solution to whatever you are trying to model or solve. They have a place and a part to play, just don't let them become the raison d'être of your solution. I say that because I've seen it. Experience trumps exuberance.
|
|
|
|
|
I wish that I could delete this post. So I will edit this post to make this comment instead.
modified 20-Nov-15 16:31pm.
|
|
|
|
|
cheers
Chris Maunder
|
|
|
|
|
marcus obrien wrote: soon we will be replaced by AI ourselves Never gonna happen.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Well said! Reflect and don't forget that everone of us was a beginner, or newbie, at some point, regardless of profession.
|
|
|
|
|
marcus obrien wrote: an anyone explain to me why some people, especially technical people, seem to be devoid of manners and tolerance ?
Especially technical people? Have you met the rest of the world? This is not unique behavior.
CPallini wrote: You cannot argue with agile people so just take the extreme approach and shoot him.
:Smile:
|
|
|
|
|
Reading the first paragraph, I have a very very known Feeling.
Give me time to read the remaining... I usually need translator for something like that and to be sure that I understand it in the right way (mas o menos) I need more than one translator
modified 19-Jan-21 21:04pm.
|
|
|
|
|
marcus obrien wrote: I see it as our job to encourage good practises
I see something as a job only when I get paid for it. So when are you going to send me my paycheck?
|
|
|
|
|
marcus obrien wrote: Do something good today, and help a newbie on their path to success Done so regularly, and enjoy doing so. As long as they don't expect me to do their work for them.
marcus obrien wrote: it, take your head out of your proverbial and realize you are not the greatest
living programmer on planet Earth. I already know, that would be Linus. Somewhere in the top 10 you will also find LP.
marcus obrien wrote: You are a representative of a fascinating mysterious club of intellectuals who
are shaping the future of mankind No, I just program software.
marcus obrien wrote: will be eternally grateful for just a few snippets of helpful knowledge "Find the documentation".
marcus obrien wrote: Or even if "googling it" would provide an answer. If you cannot bother to do some basic research, you are outsourcing/offloading work - there's other sites for that, and yes, I will point out that you are taking up space where you should not.
marcus obrien wrote: seem to be devoid of manners and tolerance ? Experience. And perhaps a lack of vitamin B12.
Did you have a question?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Because, those people who think they know everything are a great annoyance to those of us who do.
- Isaac Asimov
|
|
|
|
|
Quote: those people who think they know everything are a great annoyance to those of us who do He stole that from me!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
marcus obrien: You are the best We know and it's not enough.
Wonde Tadesse
|
|
|
|
|
marcus obrien wrote: You are the best.
So, if I'm the best, everyone else is less than best?
Marc
|
|
|
|
|
I know I'm the second best. But just the cat has eaten the best
modified 19-Jan-21 21:04pm.
|
|
|
|