Learning
search
⌘Ctrlk
Learning
  • 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
gitbookPowered by GitBook
block-quoteOn this pagechevron-down
  1. General Paradigmschevron-right
  2. Patterns of Enterprise Application Architecture

Specification Design Pattern

hashtag
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-bac6f5f943bcarrow-up-right

  • https://www.martinfowler.com/apsupp/spec.pdfarrow-up-right

  • https://dzone.com/articles/specification-pattern-quicklyarrow-up-right

  • https://www.mscharhag.com/java/specification-pattern-in-java-jpaarrow-up-right

  • https://www.mscharhag.com/java/specification-pattern-in-java-jpaarrow-up-right

  • https://github.com/iluwatar/java-design-patterns/tree/master/specificationarrow-up-right

  • https://en.wikipedia.org/wiki/Specification_patternarrow-up-right

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

hashtag
Drawbacks

  • Could just a streams and filters

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

Previousscatter-gatherchevron-leftNextTable Driven Developmentchevron-right

Last updated 5 years ago

  • What
  • Drawbacks