Skip to content

mate-academy/jv-strategy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jv-strategy


Imagine you have a сhain of stores. You need to implement a discount system for people at some special events of the year like New Year.

In this task, we'll need help with the Strategy pattern. First of all, you need to create a DiscountService interface with the method getDiscount() with the return type double. It must be located in the core.basesyntax.strategy package.

You must create its implementations (with the same names) with such discounts:

Implementation name Discount
DefaultDiscountService 0
NewYearDiscountService 20
BirthdayDiscountService 33
BlackFridayDiscountService 45

In each of these implementations in result of the execution of the method getDiscount() must return a discount according to the table above. Also, these implementations must be located in the core.basesyntax.strategy.impl package.

The last step will be the creation of a class called DiscountStrategy located in the core.basesyntax package. It must have method getDiscountServiceBySpecialEvent(String specialEvent) with return type DiscountService where specialEvent can have such values: "Birthday", "Black Friday", "New Year".

Using specialEvent, you must write code that defines the DiscountService implementation.

In case the passed specialEvent doesn't have a specific implementation you must return DefaultDiscountService by default.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages