A tutorial on the observer pattern, a vital pattern for constructing user interfaces and often useful even in non-user-interface coding. Observer is one of those patterns that seem like an impossible cliff for beginners; it comes across as highly technical and intimidating, yet it's spread throughout the whole of programming and hard to do without, at least if you value good code structure. We'll tackle it step by step here, starting with this video on the theory of it, and moving on to practical examples in subsequent videos.