Content deleted Content added
ridiculed pattern even more with C# 6 |
GoingBatty (talk | contribs) m →Criticisms: bad link repair, replaced: C# → C# using AWB |
||
Line 260:
The Specification Pattern could be considered a software [[Anti-pattern|Anti-Pattern]]:
* [[Cargo cult programming|Cargo Cult Programming]] - There lacks a well-defined purpose for this pattern, and there's no guide when to implement it or not. Also, see [[Law of the instrument]].
* [[Inner-platform effect]] - And() function which directly replicate [[Short-circuiting operator|&&]] in [[C Sharp (programming language)|C#]]. Also, Not() and potentially more. Also, see [[Reinventing the wheel|Reinventing the square wheel]].
* [[Spaghetti code#Lasagna code|Spaghetti/Lasagna Code]] - Separate classes for each part of the specification fragments what could be a cohesive object. In the example above, OverDue is an extra layer between the Logic for SendToCollection and the OverDueSpecification implementation.
Most natural programming languages can accommodate ___domain-driven design with the core Object Oriented concepts.
|