Published Jul 27, 2017

What is Supple Design?

    Delve into the world of Supple Design as the hosts unpack declarative design principles, the impact of specification patterns, and the art of crafting efficient systems through conceptual contours and value objects. Enhance your understanding of Domain Driven Design and refactoring techniques with practical insights into TDD for maintaining top-notch code quality.
    Episode Highlights
    Coding Blocks logo

    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