-
关于设计模式
设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结,是一种设计思维,使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化。使用设计模式,使得开发变得更规范和简单。
-
工厂模式
- 概述:属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂。
- 使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式, 直接用new可以完成的不需要用工厂模式。个人理解,重点就是这个复杂 (构造函数有很多参数)和 是否可以 直接用new。
-
工厂模式例子
假设现在的场景是某个宝马子生产公司,正在按需求生产宝马汽车,那么,如下:
- 公司具有宝马汽车,该公司的汽车都有共同的行为所以有了该汽车公司的一个接口,用来规范该公司的所有汽车的行为属性,这里假设,只有展示行为——show();
-
1 /**
2 * 接口:定义该公司产品的通用属性和行为
3 * @author
4 *
5 */
6
7 public interface BmwCar {
8
9 public String showBmwCar();
10 } - 具体实现该接口,也就是实现该公司符合该要求的汽车产品,如下,假设,该生产公司只生产Bmw523和Bmw320两个产品;
-
1 public class Bmw523 implements BmwCar{
2
3 @Override
4 public String showBmwCar() {
5 String Bmw523Info = "我是Bmw523";
6 return Bmw523Info;
7 }
8
9 }public class Bmw320 implements BmwCar{ @Override
public String showBmwCar() {
String Bmw320Info = "我是Bmw320";
return Bmw320Info;
}} - 来一个具体生产创作汽车产品的具体工厂BmwFactory;
-
1 /**
2 * 具有生产功能的工厂
3 * @author
4 *
5 */
6
7 public class BmwFactory {
8
9 public BmwCar createBmw320() {
10 return new Bmw320();
11 }
12
13 public BmwCar createBmw532() {
14 return new Bmw523();
15 }
16 } - 来一个实例测试,我要买车啦
-
1 public class TestCreateBmw {
2
3 public static void main(String[] args) {
4
5 BmwFactory myFactory = new BmwFactory();//实例化工厂
6 BmwCar myBmw = myFactory.createBmw320();//实例化一个产品
7 System.out.println( myBmw.showBmwCar() );//使用该产品
8 }
9
10 }
*