首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

小弟我的设计模式-工厂方法2

2012-10-09 
我的设计模式--工厂方法2以上就是我们在好莱坞拍电影的基本要求了,但是有没这种可能呢?就是同时又两个出品

我的设计模式--工厂方法2
以上就是我们在好莱坞拍电影的基本要求了,但是有没这种可能呢?就是同时又两个出品人同时在拍泰坦尼克号,这样会不会造成资源的浪费呢。
所以我们改写工厂方法。
     public class MovieFactory
    {
        private static Map<String,Movie>  movies = new HashMap<String,Movie>();

        public static Movie createMovie(Class c)
        {
                Movie movie = null;
                if (movies.containsKey())
                {
                        movie = movies.get(c.getSimpleName());
                }
                else
                {
                         //利用反射生产电影,但是不考虑异常情况了
                        movie = (Movie)Class.forName(c.getName).newInstance();
                        movies.put(c.getSimpleName(),movie);
                }       
                return movie;
        }
    } 

   其实上面这种方式不推荐使用,因为我们就是为了生产对象,不是为了获得一个单例的对象。如果考虑是多例模式的话,可以采用List的方式进行存储。

热点排行