Content deleted Content added
GoingBatty (talk | contribs) m →Criticisms: bad link repair, replaced: C# → C# using AWB |
|||
Line 258:
== Criticisms ==
The Specification Pattern could be considered a software [[
* [[Cargo cult programming
* [[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
Most natural programming languages can accommodate ___domain-driven design with the core
Alternative example, without the Specification Pattern:
Line 278:
private bool ShouldSendToCollection() => currentInvoice.OverDue && currentInvoice.NoticeSent && !currentInvoice.InCollection;
</source>This alternative uses foundation concepts of
==References==
|