• 抽象工厂模式(think in java中的设计模式)


    抽象工厂模式:工厂模式是利用工厂类的工厂方法创建对象的一种设计模式,目的是创建对象,但是很多时候创建对象我们会考虑很多其他因素~~~~比如限定输入,限定返回值是否某个,比如在创建的过程中进行一些判断,通过不同的工厂模式就能把这些东西分离开来。

    抽象工厂模式则是:构建多个产品接口形成产品族,放入工厂接口中。工厂分别调用构建这些产品的方法返回的都是借口。然后不同的工厂可以实现不同的方法产生不同的产品族

    package com.dhh.day1;
    
    public class D {
        public static void main(String[] args){
            AbstractFactory f1=new Factory1();
            f1.createA();
            f1.createZ();
            AbstractFactory f2=new Factory2();
            f2.createA();
            f2.createZ();
            
        }
    
    }
    //产品A的接口与Z接口组成产品族
    interface A{
    }
    
    class B implements A{
        public B(){
            System.out.println("制造了B");
        }
        
    }
    class C implements A{
        public C(){
            System.out.println("制造了C");
        }
    }
    //产品Z的接口与A接口组成产品族
    interface Z{
    }
    
    class X implements Z{
        public X(){
            System.out.println("制造了X");
        }
        
    }
    class Y implements Z{
        public Y(){
            System.out.println("制造了Y");
        }
    }    
    //工厂接口有构建A构建B的接口方法
    interface AbstractFactory {     
        public A createA();   
        public Z createZ();   
    }    
    //实现工厂化
    class Factory1 implements AbstractFactory{
    
        @Override
        public A createA() {
            
            return new B();
        }
    
        @Override
        public Z createZ() {
            // TODO Auto-generated method stub
            return new X();
        }
        
    }
    //实现工厂化
    class Factory2 implements AbstractFactory{
    
        @Override
        public A createA() {
            
            return new C();
        }
    
        @Override
        public Z createZ() {
            // TODO Auto-generated method stub
            return new Y();
        }
        
    }

    以上是一个静态工厂的创建类的过程,创建类的所有过程都被隐藏

  • 相关阅读:
    ELF BIN HEX[zz]
    电路、信号和PCB设计
    ADHelper中AD属性赋值的修正
    发布一个图片库轮显WebPart
    MOSS的ItemUpdated执行了10次,您碰到了吗?
    InfoPath 保存时自动生成文件名
    最新版WSS3.0 SDK
    自定义MOSS网站的masterpage
    自定义InfoPath数据验证有效性
    (暂时)解决InfoPath一直显示“installing”问题 续
  • 原文地址:https://www.cnblogs.com/blackdeng/p/7069207.html
Copyright © 2020-2023  润新知