美文网首页
Java 设计模式

Java 设计模式

作者: AlexSun1995 | 来源:发表于2017-09-30 00:26 被阅读0次

Factory Design

工厂模式有三种:简单工厂模式,工厂方法模式,抽象工厂模式

  • 简单工厂:

    • 由一个工厂类根据传入的参数决定创建哪一种的产品类
    • 优点:客户端不需要修改代码
    • 缺点:当需要增加新的运算类的时候,不仅需新加运算类,还要修改工厂类
      就是在创建类的时候通过向工厂方法传递参数,获取相应类型的类的引用.
      参考资源:
      Youtube
      Blog
  • 抽象工厂方法
    抽象工厂和简单工厂不同的是,抽象工厂类可以制造多个产品,这些产品往往是有关系的.举例来说,假设武器是我们需要的产品,那么武器是需要枪和子弹,而且这两者是相互配套的,如果我们需要AK47这种武器,那么就需要AK47这把枪和AK47的子弹.工厂类负责配套生产枪和子弹,我们将AK47的抽象工厂类作为参数传递给AK47的产品类,产品类就可以生产得到枪和子弹匹配的武器.
    抽象工厂方法和简单工厂的区别是不是,一个传入的是对应产品工厂方法的实例,而后者仅仅是名称(猜测,后续接触再进行验证)
    知乎
    Youtube
    视频对应代码

联想问题0

  • 抽象类和接口的区别和联系是什么?
    抽象类可以不仅仅包括抽象方法,也可以包括非抽象的方法.
    但是接口中的类都必须是完全的抽象的(或者说接口是显式抽象的).在接口中定义的变量类型都必须是final的.这其实也是两者之间最本质的区别.

Singleton 设计模式

Singleton pattern restricts the instantiation of a class and ensures that only one instance of the class exists in the java virtual machine. The singleton class must provide a global access point to get the instance of the class. Singleton pattern is used for logging, drivers objects, caching and thread pool

很全的csdn博客
提炼出的关键问题:什么是懒汉模式,饿汉模式,为什么说饿汉模式是线程安全的,而懒汉模式需要同步机制才能保障线程安全?
如何使用threadLocal实现单例模式的线程安全?

联想问题1

  • 什么是私有构造方法?有什么作用
    CSDN
    不能被其他类实例化,在其他类中只能用工厂方法产生实例.
  • Thread 中start 和d run 直接启动有什么区别,为什么后者被丢弃?
  • JVM类的加载机制
  • ThreadLocal使用及理解

相关文章

网友评论

      本文标题:Java 设计模式

      本文链接:https://www.haomeiwen.com/subject/krpwextx.html