-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
28 lines (23 loc) · 934 Bytes
/
Program.cs
File metadata and controls
28 lines (23 loc) · 934 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
using Patterns.Specification.Models;
using Patterns.Specification.Repositories;
using Patterns.Specification.Specifications;
namespace Patterns.Specification
{
class Program
{
//https://enterprisecraftsmanship.com/posts/specification-pattern-c-implementation/
static void Main(string[] args)
{
var genericRepository = new GenericRepository();
var specification1 = new GenericSpecification<Movie>(x=>x.Year > 2000);
var movies1 = genericRepository.Find(specification1);
var repository = new MovieRepository();
var specification2 = new YearSpecification(2000);
var movies2 = repository.Find(specification2);
var specification3 = new YearAndTitleSpecification(2000,"inator");
var movies3 = repository.Find(specification3);
}
}
}