So for those who are going through the documentation you have probably noticed that Motoko is based off of a more functional design. This language design can be a little more difficult for people switching from an Object Oriented programming language.
For those trying to make the transition I suggest you watch this youtube video: https://www.youtube.com/watch?v=srQt1NAHYC0. I think the guy in the presentation breaks down what functional programming is all about along with some solid design patterns for you to move forward with.
Please feel free to leave some design patterns you are favoring for Motoko on this thread as well so we can start building a good library of solid principles.