美文网首页
11、设计模式

11、设计模式

作者: 浮生若梦OvO | 来源:发表于2019-06-21 10:21 被阅读0次

    一、设计模式概念

    我们项目中有很多相同的东西,我们把这些相同的东西抽取出来符合某种规则,我们就称他为设计模式。

    二、工厂设计模式

    • 简单工厂设计模式

    • 如果有写完一个类不想让其他人创建这个类的对象怎么办?
      第一种方式把构造方法私有化
      第二种方式把类定义为抽象类

    • 面向对象的设计原则?
      对修改关闭,对扩展开放.

    三、工厂方法模式

    • 简单工厂模式的弊端
      如果再有一个新的动物的话,需要修改代码,不符合开闭原则,不好.

    • 工厂方法模式的好处
      如果再有一个新的动物,只需要在创建一个新的动物工厂类,以及动物描述类就可以了
      不需要修改代码.

    • 工厂模式中心思想
      原来创建对象的步骤在主方法中,用方法模式的话就是把创建对象的步骤放在了其他类中.

    四、单例设计模式(饿汉式)

    • 怎么样去写一个单例设计模式?
      前提条件:类在内存中只能存在一个对象

    • 怎么样写一个单例设计模式(饿汉式)
      a、把构造方法私有化(为了不让外界随意创建对象)
      b、在本类中创建一个静态并且私有的本类对象
      c、写一个公共并且静态的方法,返回B创建的对象.

    五、单例设计模式(懒汉式)

    • 单例设计模式分类、以及何时创建对象。
      饿汉式:在类一加载就创建对象
      懒汉式:在使用它的时候才去创建对象
      注意:懒汉式如果实在多线程程序中会出现线程安全问题,要加锁

    • 如何写一个单例设计模式(懒汉)
      a 在类中把构造方法私有化
      b 声明一个本类类型的成员变量,赋值为null(私有和静态修饰)
      c 创建一个公共并且静态的方法,在方法中判断,如果对象为null,则创建对象,如果不为null则直接返回对象.并加锁.

    六、模拟手机发展(用装饰模式)

    • 什么是装饰模式?
      对类原有的功能进行了包装扩充
    • 应用步骤:
      第一步:找到被装饰的类Phone.
      第二步:创建一个实体类PhoneImpl,去实现Phone这个接口.
      第三步:创建一个装饰类,去实现Phone这个接口,调用实现就可以了.

    七、模板方法模式

    • 模板方法模式的最优体现是抽象类
    • 我们可以把不变的定义为实体方法
    • 把变化的定义为抽象方法.

    相关文章

      网友评论

          本文标题:11、设计模式

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