工厂模式四集连载 之 "new 的三宗罪" 1/4_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 工厂模式四集连载 之 "new 的三宗罪" 1/4

工厂模式四集连载 之 "new 的三宗罪" 1/4

 2015/4/28 18:15:35  hnliu_hong  程序员俱乐部  我要评论(0)
  • 摘要:相关视频下载地址:链接:http://pan.baidu.com/s/1sjJTFyP密码:sl81设计模式概念介绍:设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,可维护性.毫无疑问,设计模式于己于他人于系统都是多赢的.设计模式使代码编制真正工程化.设计模式是软件工程的基石脉络,如同大厦的结构一样设计模式分类:创建型模式、行为模式、结构型模式创建型模式介绍
  • 标签:模式

相关视频下载地址:链接:http://pan.baidu.com/s/1sjJTFyP 密码:sl81

?

设计模式概念介绍:

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性, 可维护性.??毫无疑问, 设计模式于己于他人于系统都是多赢的. 设计模式使代码编制真正工程化. 设计模式是软件工程的基石脉络,如同大厦的结构一样

设计模式分类:

创建型模式、行为模式、结构型模式

?

创建型模式介绍:

创建型模式:前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题

?

创建模式之工厂模式介绍:

工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量

?

代码准备工作:(先创建三个Class)

class="java">public class Bus {

	public void run(){
		System.out.println("---bus run---");
	}
}

?

public class Car {

	public void run(){
		System.out.println("---car run---");
	}
}
?
public class Jeep {

	public void run(){
		System.out.println("---jeep run---");
	}
}?

new对象的三宗罪:

/**
 * 
 * @author 专注Java、Android 企业定制培训
 * @添加QQ技术交流群: 369508920 可免费获取项目视频
 * @Description: TODO(设计模式之工厂模式)
 * @Title: PatternDemo.java
 * @Package cn.it.pattern.demo01
 */
public class PatternDemo {
	/*
	 *  new 的三宗罪: 不能控制被创建对象的类型、时间、数量
	 *  1: 对象的创建与对象的使用是耦合.以后新增加对象则要修改代码 (违背开放封闭原则)
	 *  2: 在使用的时候才创建对象浪费时间 Connection会采用连接池
	 *  3: 此代码对象的创建数量是不能控制  (采用设计模式单例模式可以解决)
	 * */
	public static void main(String[] args) {
		switch (args[0]) {
		case "car":
			Car car=new Car();
			car.run();
			break;
		case "bus":
			Bus bus=new Bus();
			bus.run();
		    break;
		default:
			Jeep jeep=new Jeep();
			jeep.run();
			break;
		}
	}
}
发表评论
用户名: 匿名