Discuss fundamental component design patterns and anti-patterns that you need to consider for component reusability and more.