21. Factoryパターン
Factory Methodパターンのサンプルコード
21
public class PCFactory {
// ファクトリーメソッド
public static PC create(String name) {
switch (name) {
case "Mac":
return new Mac();
case "Lenovo":
return new Lenovo();
}
return null;
}
}
public class ユーザー{
public void play(){
PC pc = PCFactory("Mac");
pc.起動();
// pcを使用した処理
}
}
30. Stateパターン
Stateパターンのサンプルコード
30
public abstract class 会員ステータス {
public abstract 会員ステータス アップグレード();
public abstract 会員ステータス ダウングレード();
public abstract int 支払い費用取得();
}
public class 会員 {
private 会員ステータス status;
public int 支払い費用取得() {
return status.支払い費用取得();
}
// …
}
31. Stateパターン
Stateパターンのサンプルコード
31
public class 有料会員 extends 会員ステータス{
@Override
public 会員ステータス アップグレード() {
return new ゴールド会員();
}
@Override
public 会員ステータス ダウングレード() {
return new 無料会員();
}
@Override
public int 支払い費用取得() {
return 1000;
}
}