码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式之创建型模式

时间:2015-03-11 17:19:34      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:java设计模式   工厂模式   singleton   创建型   

创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。


单例模式:


含义:在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制节约系统资源

推荐写法一(静态内部类):
public class Singleton {  
    private static class SingletonHolder {  
        private static final Singleton INSTANCE = new Singleton();  
    }  
    private Singleton (){}  
    public static final Singleton getInstance() {  
        return SingletonHolder.INSTANCE; 
    }  
}

推荐写法二(枚举):
public enum EasySingleton{
    INSTANCE;
}

工厂模式:

含义:工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。(根据传入参数决定创建哪个实例)

栗子:
    //抽象产品角色
    public interface Car {
        public void drive();
    }

    //具体产品角色一
    public class Benz implements Car {
        public void drive() {
            System.out.println("Driving Benz ");
        }
    }

    //具体产品角色二
    public class Bmw implements Car {
        public void drive() {
            System.out.println("Driving Bmw ");
        }
    }


    //工厂类角色
    public class Driver {
        //工厂方法.注意 返回类型为抽象产品角色
        public static Car driverCar(String s) throws Exception {
            //判断逻辑,返回具体的产品角色给Client
            if (s.equalsIgnoreCase("Benz"))
                return new Benz();
            else if (s.equalsIgnoreCase("Bmw"))
                return new Bmw();
            else throw new Exception();
        }
    }

    //欢迎暴发户出场......
    public class Magnate {
        public static void main(String[] args) {
            Car car = Driver.driverCar("benz");//告诉司机我今天坐奔驰   
            car.drive();//下命令:开车    
        }
    }


待续.....



java设计模式之创建型模式

标签:java设计模式   工厂模式   singleton   创建型   

原文地址:http://blog.csdn.net/pengkv/article/details/44199457

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