Design Patterns in Ruby.

KAMAL OGUDAH
TEZZA SOFTWARE DEVELOPMENT
2 min readMay 15, 2018
Credits

So you have grasped all the basics of the programming language of your choice, this may be Java, C++ , Python, Javascript, or Ruby (like it was in my case). This is the time you feel capable of doing anything with the knowledge you now have. Out you go, always championing and evangelising about your language, giving presentations in user groups.

Then in your first job as a developer, you get to work with the Journeymen and women, and masters of the craft. Making your first commit on the project codebase, the code review comes in, among the comments you get, “use composition over inheritance”, “In this part you could have used a decorator” among other foreign terms that the makes you feel like a novice all over again. This is especially true if you are self taught, or your mentors did not see the need to mention design patterns or SOLID principles. Well, there is more stuff to learn beyond the basics of programming.

To understand is to perceive patterns ~ Isaiah Berlin

Building software that works is an exciting undertaking for any new apprentice. However, beyond the toy projects and breakable toys that you were used to developing, there exist the real world which not only requires a working software, but that which has been well structured in a manner that it demonstrates the highest standards of craftmanship.

Not this Patterns Credit

This post is the beginning of a series that will cover Design Patterns as can be applied to the Ruby Language. Information acquired in the series can be applied to any other language within the OOP family. As an apprentice, adding design patterns in your body of knowledge is good, but take caution as too much of something can be dangerous. This calls for making use of design patterns sparingly, when crafting software it is best to strive for simplicity, as too much design patterns may result in over engineering.

Ruby on Rails Credit

Knowing design patterns at heart will make you a better developer, besides during interviews you can wade into the deep end of interview questions like a boss. Since, design patterns go hand in hand with SOLID Design principles, that is what will introduce the series. I am Looking forward to your audience and readership.

--

--