Learning
Ctrlk
  • Software Engineering Golden Treasury
  • Trail Map
  • Caching
  • Career
  • Computer Science
  • devops
  • General Paradigms
    • CAP theorem
    • designing data-intensive applications summary
    • a-philosophy-of-software-design-notes
    • Aspect oriented Programming (AOP)
    • Best Practice
    • Cargo Cult
    • Clean Code
    • Coding reflections
    • Cognitive Complexity
    • Complexity
    • Conventions
    • Design discussions
    • Design
    • Edge Cases
    • Error Handling Checklist
    • Exceptions
    • Feature Flags/toggle
    • Functional requirements
    • Last Responsible Moment
    • Lock In
    • Named Arguments
    • Naming
    • Performance Fallacy
    • Quality
    • Redesign of a system
    • Resuse vs Decoupling
    • Rules for software designs
    • Sad Paths
    • Scaling Webservices
    • Scientific Method
    • stream-processing
    • Upstream and Downstream
    • Patterns
    • Architecture
    • Design architecture aims
    • README
    • Patterns of Enterprise Application Architecture
      • Repository Pattern
      • Rules Engines
      • scatter-gather
      • Specification Design Pattern
      • Table Driven Development
      • Workflow Design Patterns
    • Principles
    • programming-types
    • Projects and Software types
    • State Machines
  • Other
  • Hardware
  • Integration
  • Languages
  • Management & Workflow
  • Networks
  • Operating Systems
  • Other Topics
  • persistance
  • Security
  • Testing, Maintainablity & Debugging
  • Version Control - Git
  • ai
Powered by GitBook
On this page
  1. General Paradigms
  2. Patterns of Enterprise Application Architecture

Specification Design Pattern

What

  • the specification pattern is a particular software design pattern, whereby business rules can be recombined by chaining the business rules together using boolean logic.

  • https://medium.com/@carlosraphael/specification-design-pattern-in-java-8-bac6f5f943bc

  • https://www.martinfowler.com/apsupp/spec.pdf

  • https://dzone.com/articles/specification-pattern-quickly

  • https://www.mscharhag.com/java/specification-pattern-in-java-jpa

  • https://www.mscharhag.com/java/specification-pattern-in-java-jpa

  • https://github.com/iluwatar/java-design-patterns/tree/master/specification

  • https://en.wikipedia.org/wiki/Specification_pattern

  • https://blog.jonblankenship.com/2019/10/04/using-the-specification-pattern-to-build-a-data-driven-rules-engine/

Drawbacks

  • Could just a streams and filters

  • https://blog.ndepend.com/design-patterns-aged-poorly/

Previousscatter-gatherNextTable Driven Development

Last updated 5 years ago

Was this helpful?

  • What
  • Drawbacks

Was this helpful?