2010-11-01から1ヶ月間の記事一覧

Interpreter パターン

Interpreter パターン MyMain public class MyMain { public static void main(String args[]) { if (args.length < 3) return; Operator ope; if (args[0].equals("add")) ope = new Addition(); else if (args[0].equals("sub")) ope = new Subtraction();…

State パターン

State パターン MyMain public class MyMain { public static void main(String args[]) { MyContext context = new MyContext(); context.changeState(MyStateNight.getInstance()); for (int i = 0; i <= 24; i++) { System.out.print(i); System.out.prin…

Proxy パターン

Proxy パターン MyMain public class MyMain { public static void main(String args[]) { // 代理人クラスを使用しているか、 // 本物のクラスを使用しているか、わからない MyClass classA = new MyProxy(args[0]); System.out.println(classA.getName());…

Flyweight パターン

Flyweight パターン MyMain public class MyMain { public static void main(String args[]) { MyPool pool = new MyPool(); MyAlbum album = pool.getEmployee("TWIST", "サイコーな Rock You!"); if (album != null) System.out.println(album.albumName …

Facade パターン

Facade パターン Step 1 MyMain public class MyMain { public static void main(String args[]) { MyClassA classA = new MyClassA(); System.out.println(classA.getName()); System.out.println(classA.getAge()); MyClassB classB = new MyClassB(); Sys…

Decorator パターン

Decorator パターン Step 1 MyMain public class MyMain { public static void main(String args[]) { MyClassA classA = new MyClassA(); System.out.println(classA.getName()); // classA を 拡張したクラス classA = new MyClassAex(); System.out.print…

Composite パターン

Composite パターン Step 1 MyMain public class MyMain { public static void main(String args[]) { MyArtist artist = new MyArtist("矢沢永吉"); MyAlbum album = new MyAlbum("TWIST"); artist.addAlbum(album); album.addMusic(new MyMusic("サイコー…

Bridge パターン

Bridge パターン Step 1 MyMain public class MyMain { public static void main(String args[]) { // AとBの組み合わせが 2X2で 4種類のクラスを作成 MyClass myClass = new MyClassA1B1(); System.out.println(myClass.getName()); System.out.print…

Adapter パターン

Adapter パターン MyMain public class MyMain { public static void main(String args[]) { MyClassA classA = new MyClassA("2000", "01", "01"); MyClassB adapter = new MyAdapter(classA); MyClassB classB = new MyClassB("1999/12/31"); // 同じイン…

Prototype パターン

Prototype パターン MyMain public class MyMain { public static void main(String args[]) { MyBuilder builder = new MyBuilder(); // "年月日"形式の日付 MyDirectorA dirA = new MyDirectorA(); MyClass ymd = dirA.createMyClass(builder); // "月日年…

Builder パターン

Builder パターン MyMain public class MyMain { public static void main(String args[]) { MyBuilder builder = new MyBuilder(); // "年月日"形式の日付 MyDirectorA dirA = new MyDirectorA(); MyClass myclass = dirA.createMyClass(builder); System.o…

Abstract Factory パターン

Abstract Factory パターン MyMain public class MyMain { public static void main(String args[]) { // シンプルファクトリを 使用して、ファクトリオブジェクトを 作成 MyFactory factory = MySimpleFactory.getFactory(args[0]); if (factory == null) r…

Factory Method パターン

Factory Method パターン Step 1 MyMain public class MyMain { public static void main(String args[]) { MyClassA classA = new MyClassA(); System.out.println(classA.getName()); System.out.println(classA.getAge()); MyClassB classB = new MyClass…

Strategy パターン

Strategy パターン Step 4 Strategy パターン MiniDuckSimulatorStep 1 public class MiniDuckSimulator { public static void main(String[] args) { MallardDuck mallard = new MallardDuck(); RedHeadDuck redhead = new RedHeadDuck(); mallard.display(…

Strategy パターン

Strategy パターン Step 3 委譲 MiniDuckSimulatorStep 1 public class MiniDuckSimulator { public static void main(String[] args) { MallardDuck mallard = new MallardDuck(); RedHeadDuck redhead = new RedHeadDuck(); mallard.display(); mallard.pe…

Strategy パターン

Strategy パターン Step 2 オーバーライド MiniDuckSimulatorStep 1 public class MiniDuckSimulator { public static void main(String[] args) { MallardDuck mallard = new MallardDuck(); RedHeadDuck redhead = new RedHeadDuck(); mallard.display(); …

Strategy パターン

Strategy パターン Step 1 MiniDuckSimulator public class MiniDuckSimulator { public static void main(String[] args) { MallardDuck mallard = new MallardDuck(); RedHeadDuck redhead = new RedHeadDuck(); mallard.display(); mallard.performQuack(…

デザインパターン

デザインパターン in Java Strategy パターン step 1 Strategy パターン step 2 Strategy パターン step 3 Strategy パターン step 4 State パターン Factory Method パターン Abstract Factory パターン Adapter パターン Bridge パターン Decorator パター…