A Business Case For Applying Design Patterns
This is my fourth article in a series on the Gang of Four
- Design Patterns – A Review
- OOP Design Patterns in Actor Framework Part 1
- OOP Design Patterns in Actor Framework Part 2
Intended Audience
The first 3 articles were more technical and targeted towards LabVIEW Developers and Architects. The intended audience for this article is someone who is managing a team of developers. It’s about creating a business case for taking the time to read the GOF and incorporate these patterns into your routine practices.
Benefits of Studying Design Patterns
The following are some of the benefits that can be achieved by incorporating the ideas from the GOF book into your software development practices. I tried to put on my business owner hat and talk in terms that someone (perhaps a manager) who is not familiar with or efficient at LabVIEW programming might understand.
Focus your development effort on domain- specific problems
Most LabVIEW programmers are not software engineers but domain experts. The best use of their time is solving domain-specific problems, not reinventing the wheel of software design patterns. A little time spent studying the GOF will allow your domain experts to spend more time solving the problems only they can solve.
Get everyone on the same page
We all know the power of working in teams. Two people working together can achieve far more than the
Spend less time documenting
Bring new people on board faster
If we have a common language for describing our code it makes it much easier to bring new people on board. We don’t have to give detailed descriptions of every part of our software. We can describe it at a high level in terms of patterns. If they have questions about the patterns, we can just point them to the GOF book. Then we only have to spend time explaining the domain-specific parts of our code.
Make it easier to reuse code across projects
There is a reason that the Actor Framework makes heavy use of these design patterns. When leveraged correctly they can make your code much more reusable.
Make sharing resources easier
For the same
Add new features faster
Each of the GOF patterns is designed to provide flexibility in a particular direction. When we understand the patterns and use them correctly they can allow us to add new features very quickly by taking advantage of that flexibility.
Avoid Pitfalls and Deadends
The pattern descriptions in the GOF have several sections to help us pick the correct pattern and avoid common pitfalls. The Applicability section describes when a particular pattern is appropriate. The Consequences section makes us well aware of the tradeoffs we are making and points out potential issues. The Related Patterns section indicates related patterns and when it might be appropriate to choose one over another.
How can I learn more?
If you would like to learn more about how to apply design patterns and other software engineering best practices, click here to set up a free one-hour phone call where we can talk about your specific needs.