Skip to content

Instantly share code, notes, and snippets.

@adammb86
Last active November 10, 2018 03:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adammb86/60ae98b1c2d1d0df1ce438a9406000c3 to your computer and use it in GitHub Desktop.
Save adammb86/60ae98b1c2d1d0df1ce438a9406000c3 to your computer and use it in GitHub Desktop.
Design Pattern - Facade - Sample Case
(Facade) Langkah pembuatan :
1. Interface LaptopShop.java
2. Asus.java, Lenovo.java, Acer.java
3. Facade Class ShopKeeper.java
4. FacadePatternClient.java
public class Acer implements LaptopShop {
@Override
public void modelNo() {
System.out.println("Acer Aspire ES1");
}
@Override
public void price() {
System.out.println("Rp. 3.000.000");
}
}
public class Asus implements LaptopShop{
@Override
public void modelNo() {
System.out.println("ASUS X455LA");
}
@Override
public void price() {
System.out.println("Rp. 5.000.000");
}
}
public class FacadePatternClient {
public static void main(String[] args) {
ShopKeeper sk = new ShopKeeper();
sk.asusSale();
sk.lenovoSale();
sk.acerSale();
}
}
public interface LaptopShop {
public void modelNo();
public void price();
}
public class Lenovo implements LaptopShop {
@Override
public void modelNo() {
System.out.println("Lenovo Ideapad");
}
@Override
public void price() {
System.out.println("Rp. 3.000.000");
}
}
public class ShopKeeper {
private LaptopShop asus;
private LaptopShop lenovo;
private LaptopShop acer;
public ShopKeeper() {
asus = new Asus();
lenovo = new Lenovo();
acer = new Acer();
}
public void asusSale() {
asus.modelNo();
asus.price();
}
public void lenovoSale() {
lenovo.modelNo();
lenovo.price();
}
public void acerSale() {
acer.modelNo();
acer.price();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment