They're Here for a Reason

29 Nov 2018

Work Smarter not Harder

Suppose you have a deck of cards, an uncountable amount of cards. Your goal is to sort these cards in some order either greatest to least or least to greatest. You can obviously do that right? Anyone can do that, but how long would that take you? Probably a lot longer than you’d be willing to spend just to get the cards in order. Thankfully, there have been people in your position before, and they were willing to give the answer to problems like these. Nowadays we have various algorithms which are useful for sorting things in order, especially cards. From merge sort, to quick sort, and even insertion sort. These algorithms were made so that people like us wouldn’t need to individually sort those cards 1 by 1, taking some extremely long amount of time. Why work harder when we can work smarter?

Like algorithms, design patterns give us an outline or guidance to solving a problem that we may have when we are developing software. These patterns were created by people who have traveled the same path before us and were nice enough to leave arrows on the trail which guide us in the right direction. These design patterns become very useful especially when starting a new project as a software developer, starting from scratch makes developers prone to run into problems, with the light brought to them from design patterns, they will no longer need tread blindly in the dark, searching for some kind of solution from scratch. There are various design patterns from factory, singleton, observer, and MVC (Model-View-Controller).

Do your designs have patterns?

As of right now I am working on a group project in my 314 Software Engineering class. Our project is a problem hotline where students at the University of Hawaii can submit problems that are present amongst the campus that they believe should be fixed. Whilst working on this project, I believe that I have stumbled upon the Observer design pattern for when users submit issues and when these issues are resolved. In this case some observers in our project may need to be informed and change according to what kind of issues are submitted.