Design Patterns in Dynamic and Functional Languages

Duration: 50 mins
Neal Ford
Software Architect, ThoughtWorks

Design patterns have existed for decades in the software development world, acting as a well known catalog of common problems and structural solutions. Unfortunately, the seminal book on this topic, Design Patterns, include code examples in C++ and Smalltalk! In the intervening years since the book was released, capabilities and paradigms of programming languages have evolved, but not the design patterns…until now. This talk takes a fresh look at the GoF design patterns, but implemented in modern languages, including modern dialects of Java and C# (not C++) as well as dynamic languages such as Ruby and Groovy and functional languages such as Clojure, Scala, and Haskell. It turns out that some patterns disappear, some change implementations, and others change focus and scope. Come see a fresh look at this pertinent topic and how modern languages simplify and clarify these patterns.

You may also be interested in

50 mins
Principles of Productive Software Developers

When working as a software developer, as well as in any other job, it’s important to be productive and to...

25 mins
Designers + Developers = Best Friends Forever?

How is the relationship between your design team and your development team? Is it highly functional? Or 'just professional'? Maybe...

50 mins
Empowering, Growing and Coaching your Superstars

Nothing is more rewarding than when your leaders or teammates help you reach your goals or the next level of your career. ...

50 mins
Systems Thinking

Albert Einstein once said — “We cannot solve our problems with the same thinking we used when we created them.” As...

180 mins
Leading a Team of Subject Matter Experts with Confidence

As a leader, it is impossible to be an expert on all aspects of your delivery - this is why...

25 mins
How Non-violent Communication Can Help Keep the Peace on your Team

Non-violent communication will help you communicate with your coworkers in a manner that enables productivity and helps you understand how...