栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Java面试题

什么是设计模式?介绍一下你了解的设计模式有哪些?

Java面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是设计模式?介绍一下你了解的设计模式有哪些?

设计模式:在大量的实践中总结、理论化之后优选的代码结构、编程风格,解决问题的方案和途径。

组成部分:

模式名称:名词或名词短语,用来描述模式的问题、解决方案和效果

问题:描述何时使用该模式。

解决方案:描述模式的组成,各自的职责,相互关系

效果(consequence):描述使用模式的效果及使用这个模式时应该权衡的问题。

   单例设计模式:

背景:某个类的实例对象在内存中只有一个。

实现:

1、  构造函数似有。

2、  由本类提供一个静态的返回值是本类类型的获得本类对象的方法。

3、  定义一个静态的本类类型的成员变量来保存本类类型的对象。

 

public class SingletonPattern {

  private double random;

  private static SingletonPattern sp;

  private SingletonPattern(){

    random = Math.random();

  }

  public double getRandom(){

    return random;

  }

  static public SingletonPattern getInstance(){

    if(sp == null){

      sp = new SingletonPattern();

    }

    return sp;

  }

}

  策略模式:

背景:在抽象父类中对各个子类的共同功能进行描述或实现。

 

  模板模式:

在父类中应尽可能多的将子类的共同特性进行描述或实现,而将各个子类的不同功能在子类中进行具体实现,限制子类设计的随意性–(由父类实现共同部分,由子类实现不同部分)。

  组合设计模式:

例:

public class ConstructionOfBankInBeijing {

    private ConstructionOfBank construction; //组合

    private double addInterest;

public ConstructionOfBankInBeijing(ConstructionOfBank construction, double addInterest) {

        this.construction = construction;

       this.addInterest = addInterest;

    }

    public double CalculateInterestNew(){

       return construction.calculateInterest()+addInterest;

    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/264401.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号