design patterns : bridge

This commit is contained in:
haerong22
2021-12-04 20:59:23 +09:00
parent 203487d80c
commit 8e04fdf63a
16 changed files with 204 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
package bridge.after;
public class App {
public static void main(String[] args) {
Champion kda아리 = new 아리(new KDA());
kda아리.move();
kda아리.skillQ();
Champion poolParty아리 = new 아리(new PoolParty());
poolParty아리.move();
poolParty아리.skillQ();
}
}

View File

@@ -0,0 +1,15 @@
package bridge.after;
public interface Champion {
void move();
void skillQ();
void skillW();
void skillE();
void skillR();
}

View File

@@ -0,0 +1,37 @@
package bridge.after;
public class DefaultChampion implements Champion {
private Skin skin;
private String name;
public DefaultChampion(Skin skin, String name) {
this.skin = skin;
this.name = name;
}
@Override
public void move() {
System.out.printf("%s %s move\n", skin.getName(), this.name);
}
@Override
public void skillQ() {
System.out.printf("%s %s skill Q\n", skin.getName(), this.name);
}
@Override
public void skillW() {
System.out.printf("%s %s skill W\n", skin.getName(), this.name);
}
@Override
public void skillE() {
System.out.printf("%s %s skill E\n", skin.getName(), this.name);
}
@Override
public void skillR() {
System.out.printf("%s %s skill R\n", skin.getName(), this.name);
}
}

View File

@@ -0,0 +1,8 @@
package bridge.after;
public class KDA implements Skin {
@Override
public String getName() {
return "KDA";
}
}

View File

@@ -0,0 +1,8 @@
package bridge.after;
public class PoolParty implements Skin {
@Override
public String getName() {
return "PoolParty";
}
}

View File

@@ -0,0 +1,5 @@
package bridge.after;
public interface Skin {
String getName();
}

View File

@@ -0,0 +1,8 @@
package bridge.after;
public class 아리 extends DefaultChampion {
public 아리(Skin skin) {
super(skin, "아리");
}
}

View File

@@ -0,0 +1,8 @@
package bridge.after;
public class 아칼리 extends DefaultChampion {
public 아칼리(Skin skin) {
super(skin, "아칼리");
}
}

View File

@@ -0,0 +1,10 @@
package bridge.before;
public class App {
public static void main(String[] args) {
Champion kda아리 = new KDA아리();
kda아리.skillQ();
kda아리.skillR();
}
}

View File

@@ -0,0 +1,15 @@
package bridge.before;
public interface Champion {
void move();
void skillQ();
void skillW();
void skillE();
void skillR();
}

View File

@@ -0,0 +1,30 @@
package bridge.before;
public class KDA아리 implements Champion {
@Override
public void move() {
System.out.println("KDA 아리 move");
}
@Override
public void skillQ() {
System.out.println("KDA 아리 Q");
}
@Override
public void skillW() {
System.out.println("KDA 아리 W");
}
@Override
public void skillE() {
System.out.println("KDA 아리 E");
}
@Override
public void skillR() {
System.out.println("KDA 아리 R");
}
}

View File

@@ -0,0 +1,4 @@
package bridge.before;
public class KDA아칼리 {
}

View File

@@ -0,0 +1,4 @@
package bridge.before;
public class KDA카이사 {
}

View File

@@ -0,0 +1,30 @@
package bridge.before;
public class PoolParty아리 implements Champion {
@Override
public void move() {
System.out.println("PoolParty move");
}
@Override
public void skillQ() {
System.out.println("PoolParty Q");
}
@Override
public void skillW() {
System.out.println("PoolParty W");
}
@Override
public void skillE() {
System.out.println("PoolParty E");
}
@Override
public void skillR() {
System.out.println("PoolParty R");
}
}

View File

@@ -0,0 +1,4 @@
package bridge.before;
public class PoolParty아칼리 {
}

View File

@@ -0,0 +1,4 @@
package bridge.before;
public class PoolParty카이사 {
}