Content deleted Content added
Jerryobject (talk | contribs) 'Image:' > 'File:' update-standardize. WP:LINKs: update-standardize, needless WP:PIPEs > WP:NOPIPEs, section MOS:HEADings deWP:LINK. Template:Furthers add. Small WP:COPYEDITs WP:EoS: WP:TERSE, clarify, 1st MOS:PERSON we fix-cut. Template:Design Patterns Patterns update > Template:Design patterns. WP:CATEGORYs: adds, move. MOS:COMMENT add. |
m corrected compilation error |
||
(One intermediate revision by one other user not shown) | |||
Line 56:
public class AndSpecification : CompositeSpecification
{
private ISpecification
private ISpecification
public AndSpecification(ISpecification left, ISpecification right)
{
}
public override bool IsSatisfiedBy(object candidate)
{
return
}
}
Line 73:
public class AndNotSpecification : CompositeSpecification
{
private ISpecification
private ISpecification
public AndNotSpecification(ISpecification left, ISpecification right)
{
}
public override bool IsSatisfiedBy(object candidate)
{
return
}
}
Line 90:
public class OrSpecification : CompositeSpecification
{
private ISpecification
private ISpecification
public OrSpecification(ISpecification left, ISpecification right)
{
}
public override bool IsSatisfiedBy(object candidate)
{
return
}
}
Line 107:
public class OrNotSpecification : CompositeSpecification
{
private ISpecification
private ISpecification
public OrNotSpecification(ISpecification left, ISpecification right)
{
}
public override bool IsSatisfiedBy(object candidate)
{
return
}
}
Line 124:
public class NotSpecification : CompositeSpecification
{
private ISpecification
public NotSpecification(ISpecification x)
{
}
public override bool IsSatisfiedBy(object candidate)
{
return !
}
}
Line 169:
public class AndSpecification<T> : CompositeSpecification<T>
{
private ISpecification<T>
private ISpecification<T>
public AndSpecification(ISpecification<T> left, ISpecification<T> right)
{
}
public override bool IsSatisfiedBy(T candidate) =>
}
public class AndNotSpecification<T> : CompositeSpecification<T>
{
private ISpecification<T>
private ISpecification<T>
public AndNotSpecification(ISpecification<T> left, ISpecification<T> right)
{
}
public override bool IsSatisfiedBy(T candidate) =>
}
public class OrSpecification<T> : CompositeSpecification<T>
{
private ISpecification<T>
private ISpecification<T>
public OrSpecification(ISpecification<T> left, ISpecification<T> right)
{
}
public override bool IsSatisfiedBy(T candidate) =>
}
public class OrNotSpecification<T> : CompositeSpecification<T>
{
private ISpecification<T>
private ISpecification<T>
public OrNotSpecification(ISpecification<T> left, ISpecification<T> right)
{
}
public override bool IsSatisfiedBy(T candidate) =>
}
Line 525:
<syntaxhighlight lang="csharp">
var
var noticeSent = new NoticeSentSpecification();
var inCollection = new InCollectionSpecification();
// Example of specification pattern logic chaining
var sendToCollection =
var
foreach (var
{
if (sendToCollection.IsSatisfiedBy(
{
}
}
|