4 ms·
Patterns are just named best practices, you can't argue they, as a concept, failed, it's ridiculous. Some patterns solving problems in C++/Java context don't t
by mirekrusin 8y ago
Patterns are just named best practices, you can't argue they, as a concept, failed, it's ridiculous.
Some patterns solving problems in C++/Java context don't translate to ie. Haskell/OCaml - and that's fine, I don't think it bothers anybody just as patterns in Ethereum/Solidity smart contracts don't make sense in Javascript - the context is completely different.
Patterns (named, best practices) and anti-patterns (named arrangements to be avoided) - are sign of any maturing thing (programming languages, frameworks, databases, ui etc).
- dan-robertson 8y agoI think this comment has little to do with the article. You say patterns are X and X is useful therefore patterns didn’t fail, whereas the article says that patterns are meant to be Y and X is not as useful as Y so patterns failed. I think what you call a pattern is what the article would call a building block and the article does not talk much about whether or not building blocks are useful.
- matwood 8y ago> Patterns are just named best practices Agreed, and this is one of the most important parts of patterns - being able to quickly communicate with someone else. In OO land, explaining to someone that this is a factory or a decorator lets them immediately understand the purpose. Patterns also haven't gone anywhere. They are simply different for different languages and contexts. If someone sits down at a JS UI project and they are told it uses a one way data flow pattern vs. a two-way binding pattern they will immediately have a clear high level idea of what's going on. I think people are too quick to get lost in the GoF patterns (and then mix in OO hate miss the forest through the trees). They forget that the GoF said these are common patterns that they saw while creating software. At no point did they say those were the only patterns or even the best patterns for evermore. For me, the real win for going over the GoF was a reminder to think at the next higher level of abstraction. To use the example above, Redux is a way to implement one way data flow pattern. Decoupling the implementation from abstract idea allows a higher level of understanding that is also transferable across technologies.
- stcredzero 8y agoPatterns are just named best practices More specifically, they are named documents of best practices for a particular contexts comprised of problems and constraints.
- mlthoughts2018 8y agoNamed patterns rarely have anything to do with best practices, even for the hypothetically optimal context the pattern was supposedly invented to handle. In fact, seeing code that uses a named design pattern is usually a severe bad code smell that people were very confused about how to model the domain problem in an efficient way and fell back to a pattern as a lazy way out. Using named patterns is the local development equivalent of “nobody got fired for hiring IBM.”
- legulere 8y agoI think that’s not true. You can always apply best practices. You have to weigh advantages and disadvantages for each situation with design patterns. Most of the time where you can use a design pattern you shouldn’t (singletons are just the most trivial example)
- renox 8y ago> Patterns are just named best practices Not best practices: just common practice, few would argue that the singleton pattern is a best practice.. But yes, the naming truly help communications.