“Learn from the mistakes of others. You can’t live long enough to make them all yourself.” -Eleanor Roosevelt.
Learning from the mistakes of others can help you avoid them yourself. Many of you have heard some variation of this old adage from your parents or some authority figure in your life. As annoying as it is to hear, it is often warranted for people to tell you these things. Eleanor Roosevelt said it more eloquently than I ever could, but the college-level translation of her quote would be “Find all the answers online to pass your classes”. In all seriousness, there is another very similar quote by Jim Rohn that ends with “-and it is best to learn from other people’s successes. It accelerates your own success”. I appreciate this quote because I believe everyone should apply this to their own lives. It is often better to retrace or mimic the results of others and branch off from there to become your own success. As with everything in life, there are exceptions. However, using the path that someone else has carved out as a stepping stone for your own success is an outstanding idea, and one that many people should explore. This is sort of what design patterns do for software development. Design patterns are solutions to general problems that developers face while developing their software. Effective, tried and true solutions to common problems that any software developer will encounter along their journey. With design patterns, developers can use the work of others as a stepping stone to tackle their bigger problems. I myself have used design patterns in my own endeavors as a student.
In my most recent project, I have used design patterns on a number of occasions to speed up my development process. One key example of a design pattern that I used in my own work is with the Meteor-Template-React on Github. Upon using this meteor template, I became familiar with the publish-subscribe design pattern used in web applications. The publish and subscribe design pattern is one that provides a framework for exchanging messages between publishers and subscribers. When I say messages, I don’t mean text messages. I am referring to an exchange of information between the publisher and the subscriber. Whether it be a private message between two users or the details of a live event that pertains to a certain user. The publish-subscribe design model is very useful in web applications. The main use is to tailor the information received to the pages of each user. My group is designing a web application called “Over da Rainbow” in which we use the publish-subscribe pattern. Our application displays cool outdoor spots around the island of oahu. Students and members of the Hawaii education system can access this application and find cool beaches, hikes, scenic points and more to visit in their downtime. The pages of each location category subscribes to its respective location collection to display the correct data. Taking part in the development of this application has helped me understand the publish subscribe design pattern as well as others.