|
6 | 6 | @link: https://premaseem.wordpress.com/category/computers/design-patterns/ |
7 | 7 | @copyright: 2018 Packt Publication |
8 | 8 | */ |
| 9 | + |
| 10 | +import com.premaseem.icecreams.AmulChocolateIceCream; |
| 11 | +import com.premaseem.icecreams.AmulStrawberryIceCream; |
| 12 | +import com.premaseem.icecreams.DairyQueenChocolateIceCream; |
| 13 | +import com.premaseem.icecreams.DairyQueenStrawberryIceCream; |
| 14 | + |
| 15 | +import java.util.Scanner; |
| 16 | + |
9 | 17 | public class Client { |
10 | 18 | public static void main (String[] args) { |
11 | | - System.out.println("Singleton cook example "); |
| 19 | + Scanner scan = new Scanner(System.in); |
| 20 | + System.out.println("Ice cream Abstract factory example "); |
| 21 | + System.out.println("Please enter the Brand of Ice cream ... "); |
| 22 | + System.out.println("Dairy Queen"); |
| 23 | + System.out.println("Amul"); |
| 24 | + String iceCreamBrand = scan.next(); |
| 25 | + |
| 26 | + System.out.println("Please enter your ice cream flavor ... "); |
| 27 | + System.out.println("Strawberry"); |
| 28 | + System.out.println("Chocolate"); |
| 29 | + String iceCreamChoice = scan.next(); |
| 30 | + |
| 31 | + |
| 32 | + // Family of similar products with different brands. ( Tight couple) |
| 33 | + DairyQueenStrawberryIceCream dairyQueenStrawberryIceCream =null; |
| 34 | + DairyQueenChocolateIceCream dairyQueenChocolateIceCream = null; |
| 35 | + AmulStrawberryIceCream amulStrawberryIceCream =null; |
| 36 | + AmulChocolateIceCream amulchocolateIceCream = null; |
| 37 | + |
| 38 | + // Sphegati code with if else ladder |
| 39 | + if (iceCreamBrand.equalsIgnoreCase("Amul") |
| 40 | + && iceCreamChoice.equalsIgnoreCase("Strawberry")){ |
| 41 | + amulStrawberryIceCream = new AmulStrawberryIceCream(); |
| 42 | + |
| 43 | + }else if (iceCreamBrand.equalsIgnoreCase("Amul") && |
| 44 | + iceCreamChoice.equalsIgnoreCase("Chocolate")){ |
| 45 | + amulchocolateIceCream = new AmulChocolateIceCream(); |
| 46 | + |
| 47 | + }else if (iceCreamBrand.equalsIgnoreCase("Dairy Queen") |
| 48 | + && iceCreamChoice.equalsIgnoreCase("Strawberry")){ |
| 49 | + dairyQueenStrawberryIceCream = new DairyQueenStrawberryIceCream(); |
| 50 | + |
| 51 | + }else if (iceCreamBrand.equalsIgnoreCase("Dairy Queen") && |
| 52 | + iceCreamChoice.equalsIgnoreCase("Chocolate")){ |
| 53 | + dairyQueenChocolateIceCream = new DairyQueenChocolateIceCream(); |
| 54 | + } |
| 55 | + |
| 56 | + // Ice cream of your choice is : |
| 57 | + System.out.print("Ice cream of your choice is "); |
| 58 | + if (amulStrawberryIceCream != null){ |
| 59 | + System.out.println(amulStrawberryIceCream); |
| 60 | + } |
| 61 | + if (amulchocolateIceCream != null){ |
| 62 | + System.out.println(amulchocolateIceCream); |
| 63 | + } |
| 64 | + if (dairyQueenStrawberryIceCream != null){ |
| 65 | + System.out.println(dairyQueenStrawberryIceCream); |
| 66 | + } |
| 67 | + if (dairyQueenChocolateIceCream != null){ |
| 68 | + System.out.println(dairyQueenChocolateIceCream); |
| 69 | + } |
| 70 | + |
12 | 71 | } |
13 | 72 | } |
0 commit comments