Design done right

Create a mental map

  • The components: in a OOP you can think of it as the classes, but it can be any abstraction really. These will be the main actors of your software, so focus on the most important one, you first have to get those right.
  • Their interaction: basically the arrows in the UML diagram.
  • The flow: once you have the main components lied out, you should look at the flow of information and how the data passes across the components. More about this later.

It’s all about the flow

Reuse as much as possible

queue = []queue.pop()queue.insert(0, 'something')

Go test-driven

“If it’s too complicated to test it, break it down or refactor it”.

There is (almost) always a library

Learn more design patterns



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store