zoukankan      html  css  js  c++  java
  • java学习之路——简单的工厂模式实现

            简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。它又称为静态工厂方法模式,属于类的创建型模式。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。

      该模式中包含的角色及其职责

      工厂(Creator)角色

      简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。

      抽象(Product)角色

      简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。

      具体产品(Concrete Product)角色

      是简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。

      一般来讲它是抽象产品类的子类,实现了抽象产品类中定义的所有接口方法。

      简单工厂模式的特点:

      简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例。

      在这个模式中,工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。用户在使用时可以直接根据工厂类去创建所需的实例,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。

    以下演示工厂模式的简单实现:

    1.建立产品的抽象类Product


    2.建立生产A产品的具体产品类ConcreteproductA


    3.建立生产A产品的具体产品类ConcreteproductB


    4.建立生产类Creator


    5.建立客户端类Client


    运行结果:

  • 相关阅读:
    [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ
    [安卓] 13、安卓蓝牙定位(一)——如何周期性获得蓝牙节点信号强度?
    [stm32] NRF24L01+USART搞定有线和无线通信
    [安卓] 12、开源一个基于SurfaceView的飞行射击类小游戏
    [安卓] 11、串口蓝牙·将软硬结合进行到底
    [安卓] 10、悬浮窗与获取其他任务信息
    [安卓] 9、线程、VIEW、消息实现从TCP服务器获取数据动态加载显示
    [安卓] 8、VIEW和SURFACEVIEW游戏框架
    [安卓] 7、页面跳转和Intent简单用法
    Git常用命令记录
  • 原文地址:https://www.cnblogs.com/lcqBlogs/p/2392381.html
Copyright © 2011-2022 走看看