Reflect-76 ISP explained added code examples

This commit is contained in:
Mukul Sharma
2020-02-01 04:13:37 +05:30
parent ec2bdc9327
commit 7934eed0ab
8 changed files with 49 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
public class AdaptedBurgerOrder implements IAdapterOrderForBurger {
private final IOrder burgerOrder;
public AdaptedBurgerOrder(IOrder burgerOrder){
this.burgerOrder = burgerOrder;
}
@Override
public void orderBurger(int quantity) {
burgerOrder.orderBurger(quantity);
}
}

View File

@@ -0,0 +1,11 @@
public class AdaptedFriesOrder implements IAdapterOrderForFries {
private final IOrder friesOrder;
public AdaptedFriesOrder(IOrder friesOrder){
this.friesOrder = friesOrder;
}
@Override
public void orderFries(int quantity) {
friesOrder.orderFries(quantity);
}
}

View File

@@ -0,0 +1,11 @@
public class BurgerOrder implements IOrder {
@Override
public void orderBurger(int quantity) {
}
@Override
public void orderFries(int fries) {
throw new UnsupportedOperationException("No fries in Burger only order");
}
}

View File

@@ -0,0 +1,3 @@
interface IAdapterOrderForBurger {
void orderBurger(int quantity);
}

View File

@@ -0,0 +1,3 @@
interface IAdapterOrderForFries {
void orderFries(int quantity);
}

View File

@@ -0,0 +1,3 @@
public interface IBurgerOrder{
void orderBurger(int quantity);
}

View File

@@ -0,0 +1,3 @@
public interface IFriesOrder {
void orderFries(int quantity);
}

View File

@@ -0,0 +1,4 @@
public interface IOrder {
void orderBurger(int quantity);
void orderFries(int fries);
}