Salesforce Lightning Component Design Patterns and Development Best Practices