尚学堂Java培训计模式及实例.docVIP

  • 1
  • 0
  • 约1.78万字
  • 约 21页
  • 2016-08-31 发布于贵州
  • 举报
尚学堂Java培训计模式及实例

北京尚学堂提供 生产模式 1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到具体的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 [java]?view plaincopy public?class?TestFactoryMethod?{?? public?static?void?main(String[]?args)?{?? AnimalFactory?af=new?DogFactory();?? ?? Animal1?a=af.getAnimal();?? }?? }?? abstract?class?Animal1{}?? ?? class?Dog1?extends?Animal1{}?? ?? class?Cat1?extends?Animal1{}?? ?? ?? ?? abstract?class?AnimalFactory{?? ?? public?abstract?Animal1?getAnimal();?? }?? class?DogFactory?extends?AnimalFactory{?? public?Animal1?getAnimal(){?? System.out.println(Dog);?? return?new?Dog1();?? }?? }?? class?CatFactory?extends?AnimalFactory{?? public?Animal1?getAnimal(){?? System.out.println(Cat);?? return?new?Cat1();?? }?? }??? 2.抽象工厂模式(Abstract Factory) 针对多个产品等级的情况,而工厂方法模式针对单一产品等级的情况。 [java]?view plaincopy import?java.awt.*;?? import?javax.swing.*;?? import?java.awt.event.*;?? public?class?TestAbstractFactory?{?? public?static?void?main(String[]?args)?{?? GUIFactory?fact=new?SwingFactory();?? Frame?f=fact.getFrame();?? Component?c1=fact.getButton();?? Component?c2=fact.getTextField();?? f.setSize(500,300);?? f.setLayout(new?FlowLayout());?? f.add(c1);???? f.add(c2);?? f.setVisible(true);?? f.addWindowListener(new?WindowAdapter(){?? public?void?windowClosing(WindowEvent?e){?? System.exit(0);?? }?? });???? abstract?class?GUIFactory{?? public?abstract?Component?getButton();?? public?abstract?Component?getTextField();?? public?abstract?Frame?getFrame();?? }??? class?AWTFactory?extends?GUIFactory{?? public?Component?getButton()?{?? return?new?Button(AWT?Button);??? }??public?Frame?getFrame()?{??return?new?Frame(AWT?Frame);??}??public?Component?getTextField()?{??? return?new?TextField(20);??? class?SwingFactory?extends?GUIFactory{??? public?Component?getButton()?{?? return?new?JButton(Swing?Button);?? }?? public?Frame?getFrame()?{?? return?new?JFrame(Swing?Frame);??}?? public?Component?getTextField()?{?? return?new?JTextField(20);?? }?? }??? 3.单例模式(Singleton)? 改善全局变量

文档评论(0)

1亿VIP精品文档

相关文档