首页 > 资料专栏 > HRM > 人力资源 > 面试甄选 > 设计模式面试题14道PDF

设计模式面试题14道PDF

无心之过
V 实名认证
内容提供者
资料大小:1141KB(压缩后)
文档格式:PDF(33页)
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2024/11/3(发布于湖北)

类型:金牌资料
积分:--
推荐:升级会员

   点此下载 ==>> 点击下载文档


“设计模式面试题14道PDF”第1页图片 图片预览结束,如需查阅完整内容,请下载文档!
文本描述
1.什么是设计模式 设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计 模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 2.为什么要学习设计模式 看懂源代码:如果你不懂设计模式去看Jdk、Spring、SpringMVC、IO等等等等的源码,你会很迷 茫,你会寸步难行 看看前辈的代码:你去个公司难道都是新项目让你接手?很有可能是接盘的,前辈的开发难道不用 设计模式? 编写自己的理想中的好代码:我个人反正是这样的,对于我自己开发的项目我会很认真,我对他比 对我女朋友还好,把项目当成自己的儿子一样 3.设计模式分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享 元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令 模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 4.设计模式的六大原则 开放封闭原则(Open Close Principle) 原则思想:尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化 描述:一个软件产品在生命周期内,都会发生变化,既然变化是一个既定的事实,我们就应该在设 计的时候尽量适应这些变化,以提高项目的稳定性和灵活性。 优点:单一原则告诉我们,每个类都有自己负责的职责,里氏替换原则不能破坏继承关系的体系。 里氏代换原则(Liskov Substitution Principle) 原则思想:使用的基类可以在任何地方使用继承的子类,完美的替换基类。 大概意思是:子类可以扩展父类的功能,但不能改变父类原有的功能。子类可以实现父类的抽象方 法,但不能覆盖父类的非抽象方法,子类中可以增加自己特有的方法。 优点:增加程序的健壮性,即使增加了子类,原有的子类还可以继续运行,互不影响。 依赖倒转原则(Dependence Inversion Principle) 依赖倒置原则的核心思想是面向接口编程. 依赖倒转原则要求我们在程序代码中传递参数时或在关联关系中,尽量引用层次高的抽象层类, 这个是开放封闭原则的基础,具体内容是:对接口编程,依赖于抽象而不依赖于具体。 接口隔离原则(Interface Segregation Principle) 这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的 意思,从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级 和维护方便。所以上文中多次出现:降低依赖,降低耦合。 例如:支付类的接口和订单类的接口,需要把这俩个类别的接口变成俩个隔离的接口 迪米特法则(最少知道原则)( Demeter Principle) 原则思想:一个对象应当对其他对象有尽可能少地了解,简称类间解耦 大概意思就是一个类尽量减少自己对其他对象的依赖,原则是低耦合,高内聚,只有使各个模块之 间的耦合尽量的低,才能提高代码的复用率。 优点:低耦合,高内聚。 单一职责原则(Principle of single responsibility) 原则思想:一个方法只负责一件事情。 描述:单一职责原则很简单,一个方法 一个类只负责一个职责,各个职责的程序改动,不影响其 它程序。 这是常识,几乎所有程序员都会遵循这个原则。 优点:降低类和类的耦合,提高可读性,增加可维护性和可拓展性,降低可变性的风险。 5.单例模式 1.什么是单例 保证一个类只有一个实例,并且提供一个访问该全局访问点 2.那些地方用到了单例模式 1. 网站的计数器,一般也是采用单例模式实现,否则难以同步。 2. 应用程序的日志应用,一般都是单例模式实现,只有一个实例去操作才好,否则内容不好追加显 示。 3. 多线程的线程池的设计一般也是采用单例模式,因为线程池要方便对池中的线程进行控制 4. Windows的