public static AbstractDiscount GetStrategyFor(Book book){
     if(book.PublishedYear > 5)
         return new MaxDiscount();
     if (book.PublishedYear > 3)
         return new MediumYearDiscount();
     if (book.PublishedYear > 1)
         return new MinYearDiscount();
     return new NullDiscount();
 }
 private List<Book> LoadBooks(XmlNodeList nodes) {
     var books = new List<Book>();
     if (nodes == null)
         return books;
     foreach (XmlNode node in nodes) {
         var book = new Book();
         book.ISBN = GetValueFor(node, BookProperties.ISBN);
         book.Title = GetValueFor(node, BookProperties.Title);
         book.Price = GetNumValueFor(node, BookProperties.Price);
         book.PublishedYear = GetIntValueFor(node, BookProperties.PublishedYear);
         book.Authors = LoadAuthors(node);
         books.Add(book);
     }
     return books;
 }
 public void Apply(Book book){
     book.Price -= Discount/100*book.Price;
 }