Two core features of Vue.js are Single File Components and Declarative Rendering. Vue.js gives us flexible ways to reuse code and distribute functionalities for components. These slides will show you how we can encapsulate logic while still keeping our components customisable without having to override styles. We will use Tools like Mixins and Slots and learn why we should not extend components like one might know it from class inheritance of object oriented languages.