zoukankan      html  css  js  c++  java
  • (设计模式)抽象工厂

    设计模式,本身就是一种概念,一种设计思维,每个人的理解方式不同,感悟也不同。结合需求和代码的设计结构去灵活运用,以下和其他章节只是个人领悟和简单demo,共勉。
    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类,实际实现类由工厂创建并提供。
    行为接口
    public interface ICat {
    
        void eat();
    }

    public interface IDog {
    
        void eat();
    }

    实现

    public class BlackCat implements ICat{
    
        @Override
        public void eat() {
            System.out.println("黑色的猫");
        }
    
    }
    public class WhiteDog implements IDog {
    
        @Override
        public void eat() {
            System.out.println("白色的狗");
        }
    
    }

    创建产品接口 ,抽象工厂

    /**
     * 创建抽象产品对象的操作接口
     * @author Administrator
     *
     */
    public interface IAnimalFactory {
        ICat createCat();
        IDog createDog();
        
    }

    实现

    /**
     *抽象工厂,用于管理要实例化哪些对象
     * @author Administrator
     *
     */
    public class AnimalFactory implements IAnimalFactory {
    
        @Override
        public ICat createCat() {
            return new BlackCat();
        }
    
        @Override
        public IDog createDog() {
            return new WhiteDog();
        }
    
    }

    测试

    public static void main(String[] args) {
            IAnimalFactory factory = new AnimalFactory();
            ICat cat = factory.createCat();
            IDog dog = factory.createDog();
            cat.eat();
            dog.eat();
        }
  • 相关阅读:
    2、netlink简介
    1、netlink 连接器 通信机制
    第一章 02 谈谈static关键词
    第一章 01 namespace 命名空间
    第一章 00 StringUtil.cpp和StringUtil.hh分析
    说说log4cplus
    Jq 操作json
    怪怪的bug,提示值不能为空,连action都不进
    浏览器兼容性部分---FF&IE678
    Jquery 随笔
  • 原文地址:https://www.cnblogs.com/xiaohuihui96/p/7115062.html
Copyright © 2011-2022 走看看