We were told a design pattern is a solution of a problem in a given context.
The metaphor above focuses our thinking on a space of a given problem. But if we extended a view a little more, we would see there is one more thing: tools.
So, a design pattern is a solution of a problem in a given context with given tools usage. And tools are obviously programming languages we use. Observing programming languages evolution (as I remember a great piece of it was given here), we may arrive at the conclustion that design patterns try to solve lacks of programming languages.
From this point of view moving to a next programming language may cause a problem disappears.
So don't try to introduce patterns to solve the problem you faced with. Find a technology where the problem is gone. This is a way I understand the Polyglot Programming movement. I think it is the right direction.
agile (34) anti-patterns (17) architecture (32) books (9) cases (1) code speaks 2u (3) conferences (11) conversation patterns (23) customer collaboration (13) ddd (4) design patterns (15) dialogi (1) dsl (2) effectiveness (19) embedded (1) events (20) gtp (3) info (2) infoq (5) kanban (2) lean (2) orm (2) pea (2) product humanisation (1) refactoring (13) requirements (7) retrospections (1) scrum (7) soft skills (3) software craftsmanship (14) tdd (1) team (20) time management (3) tutorial (1) uml (1) user stories (1) visions (25)