• 简单工厂模式(Simple Factory Pattern)


    preface : 设计模式的结合类图会比较明晰, 下面使用将简短说下类图相关的内容. 因为发现了一篇很详细的讲解设计模式的网站, 所以一下很多内容是根据这个站中的内容所写. 链接: https://design-patterns.readthedocs.io/zh_CN/latest/. 如有问题请到留言板.

    类图中的几种关系

    • 泛化关系(generalization): 泛化关系是一种继承关系, 用一条带空心箭头的直接表示.
    • 实现关系(realize): 实现关系可类比java中的实现,实现关系用一条带空心箭头的虚线表示.
    • 聚合关系(aggregation): 表示整体由部分构成的语义,整体和部分不是强依赖的,即使整体不存在了,部分仍然存在. 聚合关系用一条带空心菱形箭头的直线表示.
    • 组合关系(composition): 与聚合关系一样,组合关系同样表示整体由部分构成的语义,但组合关系是一种强依赖的特殊聚合关系,如果整体不存在了,则部分也不存在了. 组合关系用一条带实心菱形箭头直线表示.
    • 关联关系(association): 关联关系描述不同类的对象之间的结构关系;它是一种静态关系, 通常与运行状态无关,一般由常识等因素决定的. 关联关系默认不强调方向,表示对象间相互知道;如果特别强调方向就会在被知道方有箭头. 关联关系是用一条直线表示的.
    • 依赖关系(dependency): 依赖关系描述一个对象在运行期间会用到另一个对象的关系, 与关联关系不同的是,它是一种临时性的关系,通常在运行期间产生,并且随着运行时的变化. 依赖关系是用一套带箭头的虚线表示的.
    • 如图: 类图-关系

    简单工厂模式(Simple Factory Pattern)

    模式结构

     - 工厂角色(Factory): 工厂角色负责实现创建所有实例的内部逻辑
     - 抽象产品角色(Product): 抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口
     - 具体产品角色(ConcreteProduct): 具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例.
    

    类图

    • 如图: 类图-工厂

      模式应用

      • JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间

        public final static DateFormat getDateInstance();
        public final static DateFormat getDateInstance(int style);
        public final static DateFormat getDateInstance(int style,Locale
        locale);
        
      • Java加密技术

        KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
        Cipher cp=Cipher.getInstance("DESede");
        

    结尾: 这里占时写到这里, 继续膜拜下https://design-patterns.readthedocs.io/zh_CN/latest/.

  • 相关阅读:
    网络编程
    模块
    内置函数
    函数应用
    万能参数
    函数
    爬虫
    算法
    Flask
    linux
  • 原文地址:https://www.cnblogs.com/brandon-zhang/p/14482182.html
Copyright © 2020-2023  润新知