码迷,mamicode.com
首页 > 其他好文 > 详细

常用设计模式之简单工厂(使用反射)

时间:2016-11-17 01:41:34      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:images   style   alt   xtend   基本功   rgs   --   自己   throws   

(回顾自己工作以来参与过的所有项目,其中大部分大量使用框架,因此用到设计模式的场景并不多。可是,对于码农来说,设计模式是必不可少的基本功之一。所以现在重新梳理并简单记录几个设计模式。每个设计模式都有其适合使用的场景。作为码农,在搬砖的过程中,需要根据项目需求,结合各种设计的特点,考虑多方面因素,在满足当前需求的前提下,尽量试想未来可能出现的变化,采用最合适的设计去实现需求,以免未来可能出现的时间精力的浪费。)

  • UML

技术分享

 

  • Code

 1 interface Product{
 2     void doSth(String name);
 3 }
 4 class Factory{
 5     private Factory(){}
 6     //public static Product newInstance(Class<? extends Product> cls)
 7     public static Product newInstance(String className)
 8     {
 9         Product product = null;
10         try{
11             //product =  cls.getConstructor().newInstance();
12             product = (Product)Class.forName(className).newInstance();
13         }catch (Exception e){
14             e.printStackTrace();
15         }
16         return product;
17     }
18 }
19 class ProductX implements Product{
20     //public ProductX(){}
21     public void doSth(String name){
22         System.out.println("-----ProductX -------" + name);
23     }
24 }
25 class ProductY implements Product{
26     //public ProductY(){}
27     public void doSth(String name){
28         System.out.println("-----ProductY -------" + name);
29     }
30 }
31 public class DesignPatternsTest{
32     public static void main(String[] args) throws Exception{
33         //Product p1 = Factory.newInstance(ProductX.class);
34         Product p1 = Factory.newInstance("com.wrb.designpatterns.ProductX");
35         //ProductY p2 = (ProductY)Factory.newInstance(ProductY.class);
36         ProductY p2 = (ProductY)Factory.newInstance("com.wrb.designpatterns.ProductY");
37         p1.doSth("p1");
38         p2.doSth("p2");
39     }
40 }

 

常用设计模式之简单工厂(使用反射)

标签:images   style   alt   xtend   基本功   rgs   --   自己   throws   

原文地址:http://www.cnblogs.com/renbiao/p/6071950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!