java设计模式_工厂模式

  • 关于设计模式


 

设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结,是一种设计思维,使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化。使用设计模式,使得开发变得更规范和简单。

 

  • 工厂模式


 

  1. 概述:属于创建型设计模式,需要生成的对象叫做产品 ,生成对象的地方叫做工厂。
  2. 使用场景:在任何需要生成复杂对象的地方,都可以使用工厂方法模式, 直接用new可以完成的不需要用工厂模式。个人理解,重点就是这个复杂 (构造函数有很多参数)和 是否可以 直接用new。

 

  • 工厂模式例子


 

假设现在的场景是某个宝马子生产公司,正在按需求生产宝马汽车,那么,如下:

  1. 公司具有宝马汽车,该公司的汽车都有共同的行为所以有了该汽车公司的一个接口,用来规范该公司的所有汽车的行为属性,这里假设,只有展示行为——show();
  2.  1 /**
     2  *     接口:定义该公司产品的通用属性和行为
     3  * @author 
     4  *
     5  */
     6 
     7 public interface BmwCar {
     8     
     9     public String showBmwCar();
    10 }
  3. 具体实现该接口,也就是实现该公司符合该要求的汽车产品,如下,假设,该生产公司只生产Bmw523和Bmw320两个产品;
  4. 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;
        }
    
    }
  5. 来一个具体生产创作汽车产品的具体工厂BmwFactory;
  6.  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 }
  7. 来一个实例测试,我要买车啦
  8.  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 }

*

 

posted @ 2018-08-07 19:30  四叶笔记  阅读(167)  评论(0编辑  收藏  举报