What is Supple Design?

Topics covered
Popular Clips
Episode Highlights
Declarative Design
Declarative design is a programming approach where a precise description of properties controls the software, acting as an executable specification. Michael Outlaw explains that this concept initially seems straightforward, especially when considering frameworks like JavaScript, where the view portion is often declarative 1. However, the discussion reveals complexities, such as the use of domain-specific languages and specification patterns, which can make the approach seem less intuitive 2. Joe Zack reflects on the expressive nature of declarative languages, noting their ability to convey meaning without procedural code 2.
  Â
Specification Patterns
Specification patterns play a crucial role in declarative design by allowing developers to define rules and conditions in a clear, structured manner. Alan Underwood shares insights on using these patterns within Hibernate, where specifications can query data using expression trees in C#, showcasing their versatility 3. This approach not only simplifies complex queries but also enhances code readability and maintainability. Underwood emphasizes the importance of specification patterns for ensuring that certain requirements are met, making them a valuable tool in software development 4.
Related Episodes
Design Patterns Part 1
Answers 383 questionsDesigning Data-Intensive Applications – Scalability
Answers 383 questions

Strategic Design and Domain Events
Answers 383 questionsDesign Patterns Part 3
Answers 383 questions

Software Design Anti-patterns
Answers 383 questions

Why Domain Driven Design
Answers 383 questions

Clean Code - How to Build Maintainable Systems
Answers 383 questions

Clean Code - How to Write Classes the Right Way
Answers 383 questionsClean Code - How to Write Amazing Functions
Answers 383 questionsHow to be a Programmer
Answers 383 questions
Tackling Tough Developer Questions
Answers 383 questionsClean Code - Formatting Matters
Answers 383 questionsHow to be an Advanced Programmer
Answers 383 questionsHow to be an Intermediate Programmer
Answers 383 questions

What do you want to be when you grow up?
Answers 383 questions
