diff --git a/DS01_SimpleFactory.java b/DS01_SimpleFactory.java deleted file mode 100644 index cb23822..0000000 --- a/DS01_SimpleFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -//抽象产品 -interface Car -{ - public void drive(); -} - -//具体产品类 -class Benz implements Car{ - public void drive() { - System.out.println("Driving Benz "); - } -} - -class Bmw implements Car{ - public void drive() { - System.out.println("Driving Bmw "); - } -} - -//工厂类角色 -class Driver{ - public static Car driverCar(String s)throws Exception { - if(s.equalsIgnoreCase("Benz")) - return new Benz(); - else if(s.equalsIgnoreCase("Bmw")) - return new Bmw(); - else throw new Exception(); - } - -} - -public class DS01_SimpleFactory{ - public static void main(String[] args) - { - try{ - Car car = Driver.driverCar("Benz"); - car.drive(); - } - catch (Exception e){ - } - } -} diff --git a/DS02_FactoryMethod.java b/DS02_FactoryMethod.java deleted file mode 100644 index 761fb0c..0000000 --- a/DS02_FactoryMethod.java +++ /dev/null @@ -1,52 +0,0 @@ -//抽象工厂 -interface Driver{ - public Car driverCar(); -} - -//具体工厂类 -class BenzDriver implements Driver{ - public Car driverCar(){ - return new Benz(); - } -} - -class BmwDriver implements Driver{ - public Car driverCar(){ - return new Bmw(); - } -} - -//抽象产品 -interface Car -{ - public void drive(); -} - -//具体产品类 -class Benz implements Car{ - public void drive() { - System.out.println("Driving Benz "); - } -} - -class Bmw implements Car{ - public void drive() { - System.out.println("Driving Bmw "); - } -} - -public class DS02_FactoryMethod -{ - public static void main(String[] args) - { - try{ - Driver driver = new BenzDriver(); - Car car = driver.driverCar(); - car.drive(); - - } - catch (Exception e){ - System.out.println(e.getMessage()); - } - } -} diff --git a/DS03_AbstractFactory.java b/DS03_AbstractFactory.java deleted file mode 100644 index 0971e29..0000000 --- a/DS03_AbstractFactory.java +++ /dev/null @@ -1,93 +0,0 @@ - -//抽象产品 -interface ICat { - - void eat(); -} - -interface IDog { - - void eat(); -} - -//具体产品 -class BlackCat implements ICat { - - public void eat() { - System.out.println("The black cat is eating!"); - } -} - -class WhiteCat implements ICat { - - public void eat() { - System.out.println("The white cat is eating! "); - } -} - -class BlackDog implements IDog { - - public void eat() { - System.out.println("The black dog is eating"); - } -} - -class WhiteDog implements IDog { - - public void eat() { - System.out.println("The white dog is eating!"); - } -} - - -// 抽象工厂 -interface IAnimalFactory{ - - ICat createCat(); - - IDog createDog(); -} - -//具体工厂 -class BlackAnimalFactory implements IAnimalFactory { - - public ICat createCat() { - return new BlackCat(); - } - - public IDog createDog() { - return new BlackDog(); - } -} - - -class WhiteAnimalFactory implements IAnimalFactory { - - public ICat createCat() { - return new WhiteCat(); - } - - public IDog createDog() { - return new WhiteDog(); - } -} - -public class DS03_AbstractFactory{ - public static void main(String[] args) { - IAnimalFactory blackAnimalFactory = new BlackAnimalFactory(); - ICat blackCat = blackAnimalFactory.createCat(); - blackCat.eat(); - IDog blackDog = blackAnimalFactory.createDog(); - blackDog.eat(); - - IAnimalFactory whiteAnimalFactory = new WhiteAnimalFactory(); - ICat whiteCat = whiteAnimalFactory.createCat(); - whiteCat.eat(); - IDog whiteDog = whiteAnimalFactory.createDog(); - whiteDog.eat(); - } -} - - - - diff --git a/DS04_Builder.java b/DS04_Builder.java deleted file mode 100644 index ba1732f..0000000 --- a/DS04_Builder.java +++ /dev/null @@ -1,99 +0,0 @@ -interface PersonBuilder { - - void buildHead(); - - void buildBody(); - - void buildFoot(); - - Person buildPerson(); -} -//ConcreteBuilder - - -class ManBuilder implements PersonBuilder { - - Person person; - - public ManBuilder() { - person = new Man(); - } - - public void buildBody() { - person.setBody("建造男人的身体"); - } - - public void buildFoot() { - person.setFoot("建造男人的脚"); - } - - public void buildHead() { - person.setHead("建造*人的头"); - } - - public Person buildPerson() { - return person; - } -} - - -//Director -class PersonDirector { - - public Person constructPerson(PersonBuilder pb) { - pb.buildHead(); - pb.buildBody(); - pb.buildFoot(); - return pb.buildPerson(); - } -} - -//Product -class Person { - - private String head; - - private String body; - - private String foot; - - public String getHead() { - return head; - } - - public void setHead(String head) { - this.head = head; - } - - public String getBody() { - return body; - } - - public void setBody(String body) { - this.body = body; - } - - public String getFoot() { - return foot; - } - - public void setFoot(String foot) { - this.foot = foot; - } -} - -class Man extends Person { - -} - - -public class DS04_Builder{ - - public static void main(String[] args) { - PersonDirector pd = new PersonDirector(); - Person person = pd.constructPerson(new ManBuilder()); - System.out.println(person.getBody()); - System.out.println(person.getFoot()); - System.out.println(person.getHead()); - } -} diff --git a/DS04_Singleton.java b/DS04_Singleton.java deleted file mode 100644 index 8a493d6..0000000 --- a/DS04_Singleton.java +++ /dev/null @@ -1,60 +0,0 @@ -import java.util.HashMap; -class Singleton -{ - //用来存放对应关系 - private static HashMap sinRegistry = new HashMap(); - static private Singleton s = new Singleton(); - //受保护的构造函数 - protected Singleton() - {} - public static Singleton getInstance(String name) - { - if(name == null) - name = "Singleton"; - if(sinRegistry.get(name)==null) - { - try{ - sinRegistry.put(name , Class.forName(name).newInstance()); - }catch(Exception e) - { - e.printStackTrace(); - } - } - return (Singleton)(sinRegistry.get(name)); - } - - public void test() - { - System.out.println("getclasssuccess!"); - } -} - -class SingletonChild1 extends Singleton -{ - public SingletonChild1(){} - static public SingletonChild1 getInstance() - { - return (SingletonChild1)Singleton.getInstance("SingletonChild1"); - } - public void test() - { - System.out.println("getclasssuccess111!"); - } -} - -class SingletonChild2 extends Singleton -{ - public SingletonChild1(){} - static public SingletonChild1 getInstance() - { - return (SingletonChild1)Singleton.getInstance("SingletonChild2"); - } - public void test() - { - System.out.println("getclasssuccess222!"); - } -} - -public class DS04_Singleton{ - -} \ No newline at end of file diff --git a/DS05_Prototyte.java b/DS05_Prototyte.java deleted file mode 100644 index ed5ca2f..0000000 --- a/DS05_Prototyte.java +++ /dev/null @@ -1,38 +0,0 @@ -class Prototype implements Cloneable { - - private String name; - - public void setName(String name) { - this.name = name; - } - - public String getName() { - return this.name; - } - - public Object clone(){ - try { - return super.clone(); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } -} - -class ConcretePrototype extends Prototype { - - public ConcretePrototype(String name) { - setName(name); - } -} - -public class DS05_Prototyte { - - public static void main(String[] args) { - Prototype pro = new ConcretePrototype("prototype"); - Prototype pro2 = (Prototype)pro.clone(); - System.out.println(pro.getName()); - System.out.println(pro2.getName()); - } -} diff --git a/DS06_Adapter.java b/DS06_Adapter.java deleted file mode 100644 index b90dc27..0000000 --- a/DS06_Adapter.java +++ /dev/null @@ -1,39 +0,0 @@ -interface Target { - - void adapteeMethod(); - - void adapterMethod(); -} - -class Adaptee { - public void adapteeMethod() { - System.out.println("Adaptee method!"); - } -} - -class Adapter implements Target { - - private Adaptee adaptee; - - public Adapter(Adaptee adaptee) { - this.adaptee = adaptee; - } - - public void adapteeMethod() { - adaptee.adapteeMethod(); - } - - public void adapterMethod() { - System.out.println("Adapter method!"); - } -} - -public class DS06_Adapter{ - - public static void main(String[] args) { - Target target = new Adapter(new Adaptee()); - target.adapteeMethod(); - - target.adapterMethod(); - } -} diff --git a/DS07_Bright.java b/DS07_Bright.java deleted file mode 100644 index 6de3654..0000000 --- a/DS07_Bright.java +++ /dev/null @@ -1,87 +0,0 @@ -abstract class Person { - - private Clothing clothing; - - private String type; - - public Clothing getClothing() { - return clothing; - } - - public void setClothing() { - //this.clothing = ClothingFactory.getClothing(); - } - - public void setType(String type) { - this.type = type; - } - - public String getType() { - return this.type; - } - - public abstract void dress(); -} - -class Man extends Person { - - public Man() { - setType("男人"); - } - - public void dress() { - Clothing clothing = getClothing(); - clothing.personDressCloth(this); - } -} - -class Lady extends Person { - - public Lady() { - setType("女人"); - } - - public void dress() { - Clothing clothing = getClothing(); - clothing.personDressCloth(this); - } -} - -abstract class Clothing { - - public abstract void personDressCloth(Person person); -} - -class Jacket extends Clothing { - - public void personDressCloth(Person person) { - System.out.println(person.getType() + "穿马甲"); - } -} - -class Trouser extends Clothing { - - public void personDressCloth(Person person) { - System.out.println(person.getType() + "穿裤子"); - } -} - -public class DS07_Bright { - - public static void main(String[] args) { - - Person man = new Man(); - - Person lady = new Lady(); - - Clothing jacket = new Jacket(); - - Clothing trouser = new Trouser(); - - jacket.personDressCloth(man); - trouser.personDressCloth(man); - - jacket.personDressCloth(lady); - trouser.personDressCloth(lady); - } -} diff --git a/DS08_Composite.java b/DS08_Composite.java deleted file mode 100644 index db85680..0000000 --- a/DS08_Composite.java +++ /dev/null @@ -1,113 +0,0 @@ -//Component -import java.util.*; - -abstract class Employer { - - private String name; - - public void setName(String name) { - this.name = name; - } - - public String getName() { - return this.name; - } - - public abstract void add(Employer employer); - - public abstract void delete(Employer employer); - - public List employers; - - public void printInfo() { - System.out.println(name); - } - - public List getEmployers() { - return this.employers; - } -} - - -//Leaf -class Programmer extends Employer { - - public Programmer(String name) { - setName(name); - employers = null;//程序员, 表示没有下属了 - } - - public void add(Employer employer) { - - } - - public void delete(Employer employer) { - - } -} - -class ProcectAssistant extends Employer { - - public ProcectAssistant(String name) { - setName(name); - employers = null;//项目助理, 表示没有下属了 - } - - public void add(Employer employer) { - - } - - public void delete(Employer employer) { - - } -} - - -//Composite -class ProjectManager extends Employer { - - public ProjectManager(String name) { - setName(name); - employers = new ArrayList(); - } - - public void add(Employer employer) { - employers.add(employer); - } - - public void delete(Employer employer) { - employers.remove(employer); - } -} - - -//Client -public class DS08_Composite { - - public static void main(String[] args) { - Employer pm = new ProjectManager("项目经理"); - Employer pa = new ProcectAssistant("项目助理"); - Employer programmer1 = new Programmer("程序员一"); - Employer programmer2 = new Programmer("程序员二"); - - pm.add(pa);//为项目经理添加项目助理 - pm.add(programmer2);//为项目经理添加程序员 - - //注意,这里如果不加<>里面的东西,竟然不能编译通过,这个是因为泛型编程 - List ems = pm.getEmployers(); - int emsCount = ems.size(); - for(int i = 0; i