zoukankan      html  css  js  c++  java
  • 工厂模式

    定义

            工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

            工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。

    简单工厂模式

            实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。

    工厂方法模式

            工厂方法是粒度很小的设计模式,因为模式的表现只是一个抽象的方法。 提前定义用于创建对象的接口,让子类决定实例化具体的某一个类,即在工厂和产品中间增加接口,工厂不再负责产品的创建,由接口针对不同条件返回具体的类实例,由具体类实例去实现。

    抽象工厂模式

            当有多个抽象角色时使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品对象。它有多个抽象产品类,每个抽象产品类可以派生出多个具体产品类,一个抽象工厂类,可以派生出多个具体工厂类,每个具体工厂类可以创建多个具体产品类的实例。

    抽象的产品类:定义car  交通工具类

    public interface Car {    
       void gotowork(); }
    定义实际的产品类
    public class Bike implements Car {
        @Override
        public void gotowork() {
            System.out.println("骑自行车去上班!");
        }
    }
    public class Bus implements Car {
        @Override
        public void gotowork() {
            System.out.println("坐公交车去上班!");
        }
    }



    public class TestFactory {   
     @Test    public void test() {    
       ICarFactory factory = null;        // bike      
     factory = new BikeFactory();      
     Car bike = factory.getCar();    
       bike.gotowork();        // bus      
     factory = new BusFactory();    
       Car bus = factory.getCar();    
       bus.gotowork();    } }
  • 相关阅读:
    养成好习惯:在控制面板里停止服务
    很吊炸天的Xcode插件,你想要的这都有
    Cscope how to support java and c++
    java_lambda表达式
    【C语言】14-返回指针的函数与指向函数的指针
    李洪强
    【C语言】13-指针和字符串
    李洪强-C语言7-C语言运算符
    【C语言】12-指向一维数组元素的指针
    李洪强-C语言6-控制结构
  • 原文地址:https://www.cnblogs.com/KL2016/p/15753970.html
Copyright © 2011-2022 走看看