Shoyu and Sugar

02 Dec 2020

In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn’t a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.


Two parts shoyu, one part water, and add sugar to taste. This simple mixture is used in nearly every dish my dad makes and was the first thing he taught to me when I tried learning to cook. This flavor combination can be used to enhance any ingredient from canned meats like Spam and Vienna Sausage to grilled chicken and sauteed zucchini. On its own, my dad’s shoyu-sugar blend doesn’t seem to do much to fulfill your appetite, but can easily be used to solve the age-old problem of what to have for dinner.

That fact that a basic combination of common ingredients can give a novice cook like myself a whole reputare of recipes proves how useful a template can be. It provides a simple way to tackle an issue while also serving as a strong foundation to stand on while expanding your skillset. Therefore, having your own shoyu-sugar mix for coding can be an invaluable tool. In the world of software engineering this is known as a design pattern. Examples of design patterns in action are in abundance on Github. There are many overlaps in style among the projects I have completed in ICS 314. One of the most prominent can be seen in Campus Cravings. An application that displays food options around UH Manoa, the way Campus Cravings handles additions or changes in food vendors is strikingly similar to the methods seen used in Professor Johnson’s “Digits” assignment. Using what I learned in the class I was able to develop a pattern that I could use the Campus Cravings site and will be able to continue to use as long as I pursue web development. This tool has made me a better software engineer just as the shoyu-sugar sauce had made me a better cook.