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

    工程模式:实例化对象,用工程方法代替new操作。

      工程模式包括工厂方法模式,和抽象工厂模式。(抽象工厂模式是工厂方法模式的扩展)

    工厂模式的意图:

      定义一个接口来创建对象,但是让子类来决定那些类需要被实例化。

      工厂方法把实例化的工作推迟到子类中去实现。

    什么情况下适合工厂模式:

      有一组类似的对象需要被创建。

      在编码时不能预见需要创建哪种类的实例。

      系统需要考虑扩展性,不应依赖于产品类实例如何被创建、组合和表达的细节。

    工厂模式的代码设计思想:

      尽量松耦合,一个对象的依赖对象的变化与本身无关

      具体产品与客户端剥离,责任分离

    简单工厂模式实现:

      public class HairFactory {

        public HairInterface getHair(String hair) {
          if ("left".equalsIgnoreCase(hair)) {
            return new LeftHair();
          } else if ("right".equalsIgnoreCase(hair)) {
            return new RightHair();
          }
          return null;
        }

      }

    抽象工厂模式:

      抽象共工厂模式就是在工厂模式的基础上再在做一层封装,通过抽象的工厂产生不同的工厂类。

  • 相关阅读:
    空悬指针、野指针、内存泄漏、内存溢出
    自定义消息的操作方法ON_MESSAGE(..)
    为什么static成员变量一定要在类外初始化?
    Ubuntu 系统目录结构
    Beyond Compare 4 30天评估期结束的解决办法
    C++ string 字符串 结尾 标志
    C语言——枚举类型用法
    结构体struct-联合体union-枚举enum
    网卡bood
    kvm 安装
  • 原文地址:https://www.cnblogs.com/LionheartCGJ/p/6843659.html
Copyright © 2011-2022 走看看