`
kidiaoer
  • 浏览: 818655 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

设计模式面试相关

阅读更多
面向对象设计原则

单一职责原则(SRP)

描述:就一个类而言,应该仅有一个引起它变化的原因。
应用:在构造对象时,将对象的不同职责分离至两个或多个类中,确保引起该类变化的原因只有一个。

开放-封闭原则(OCP)

描述:"对于扩展是开放的"(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,可以对模块进行扩展,使其具有满足改变的新行为。也就是说,我们可以改变模块的功能。"对于更改是封闭的"(Close for modification)。对模块行为进行扩展时,不必改动模块的源代码或者二进制代码。
应用:高级语言中的接口与虚拟类。

Liskov替换原则(LSP)

描述:若对每个类型S的对象O1,都存在一个类型T的对象O2,使得在所有针对T编写的程序P中,用O1替换O2后,程序P行为功能不变,则S是T 的子类型。
应用:在实现继承时,子类型(subtype)必须能替换掉它们的基类型(base type)。如果一个软件实体使用的是基类的话那么也一定适用于子类。但反过来的代换不成立。

依赖倒置原则(DIP)

描述:A .高层模块不应该依赖于低层模块。二者都应该依赖于抽象。B .抽象不应该依赖于细节。细节应该依赖于抽象。
应 用:要依赖抽象,不要依赖于具体。即针对接口编程,不要针对实现编程。针对接口编程的意思是,应当使用接口和抽象类进行变量的类型声明、参量的类型声明,方法的返还类型声明,以及数据类型的转换等。不要针对实现编程的意思就是说,不应当使用具体类进行变量的类型声明、参量的类型声明,方法的返还类型声明,以及数据类型的转换等。

接口隔离原则(ISP)

描述:不要强迫客户依赖于它们不用的方法。
应用:一个类对另外一个类的依赖性应当是建立在最小的接口上的。如果客户端只需要某一些方法的话,那么就应当向客户端提供这些需要的方法,而不要提供不需要的方法。提供接口意味着向客户端作出承诺,过多的承诺会给系统的维护造成不必要的负担。

迪米特法则(Law of Demeter)

描述:又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.

狭义的迪米特法则的缺点:在系统里造出大量的小方法,这些方法仅仅是传递间接的调用,与系统的商务逻辑无关。
分享到:
评论

相关推荐

    Java设计模式面试题汇总

    Java设计模式面试题汇总 本文将对Java设计模式面试题进行总结,涵盖软件设计原则、设计模式的定义、分类、常见模式等内容。 软件设计原则: 软件设计原则是指在软件设计中需要遵守的一些规则和原则,这些原则可以...

    10道Java面试必备的设计模式面试题!.zip

    以下是对这10道Java设计模式面试题的详细解释: 1. **单例模式(Singleton)**:确保一个类只有一个实例,并提供全局访问点。在Java中,可以使用双重检查锁定(Double-Checked Locking)、静态内部类或枚举来实现...

    设计模式的面试题精华

    在面试中,设计模式的掌握程度通常被视为衡量一个开发者经验、技能和问题解决能力的重要指标。以下是一些关于设计模式的重点知识,以及它们在实际开发和面试中的应用。 1. **单例模式**:确保一个类只有一个实例,...

    【BAT必备】设计模式面试题

    本文将围绕“BAT必备设计模式面试题”这一主题,深入探讨设计模式的相关知识点,帮助求职者更好地准备面试。 #### 二、设计模式概述 设计模式通常分为三类:创建型模式、结构型模式和行为型模式。 - **创建型模式...

    设计模式面试专题及答案.pdf

    设计模式是软件工程中一种...设计模式在面试中是常考的知识点,不仅考察应聘者对模式的理解,还考察其应用设计模式解决实际问题的能力。理解并能正确使用这些设计模式,对于编写出高效、易维护、可扩展的代码非常重要。

    设计模式精解及面试攻略

    第3章介绍设计模式和模式的分类等概念;第4章讨论创造型模式(抽象工厂、工厂方法、生成器、原型和单件模式);第5章讨论结构型模式(适配器、桥接、组成、装饰、外观、享元和代理模式);第6章阐释行为模式(职责链...

    java面试题,技术面试与设计模式

    Java作为世界上最受欢迎的编程语言之一,其面试题和设计模式是每位Java开发者都需要掌握的核心知识。下面我们将深入探讨这些主题,以帮助IT工作者在面试中脱颖而出,并提升自己的技术水平。 一、Java面试题 1. ...

    面试---1. Java&设计模式.pdf

    ### Java核心概念与设计模式面试知识点总结 #### 一、Java基础环境介绍 - **JDK**: Java Development Kit,是Java开发工具包的简称。它包含了编写Java应用程序所需的开发工具,如编译器(javac)、调试器(jdb)等...

    Java面试题、JVM面试题、多线程面试题、并发编程、设计模式面试题

    Java面试题、JVM面试题、多线程面试题、并发编程、设计模式面试题、SpringBoot面试题、SpringCloud面试题、MyBatis面试题、Mysql面试题、VUE面试题、算法面试题、运维面试题。 收集汇总各行业笔试or编程题解题思路 ...

    面试常考设计模式(JAVA)

    JAVA经典设计模式,清晰易懂,有代码实例,学你所考,考你所学

    设计模式面试专题及答案

    设计模式是软件工程中的一种重要思想,它是在特定情境下为了解决常见问题而形成的一套最佳...阅读“设计模式面试专题及答案.pdf”和“设计模式面试专题及答案.txt”文件,可以深入学习和复习这些模式,以备面试之需。

    面试中的设计模式的考察

    在软件开发行业中,设计模式是面试时考察候选人专业水平和实际编程能力的重要方面。设计模式提供了一系列预定义的模板,用于解决特定的设计问题。其核心在于复用代码、让代码更容易被他人理解、保证代码可靠性等。在...

    c#经典教程/设计模式/笔试宝典/面试题(1/2)

    本压缩包主要内容为c#教程(书籍)及一些经典资料,主要包括有: ...23种设计模式.pdf c++笔试面试宝典2009版.doc 程序员面试宝典.pdf 高质量C++-C编程指南.mht 注意:共有两个分卷,这是分卷1。

    10道Java面试必备的设计模式面试题

    Java 设计模式面试题解析 在 Java 开发中,设计模式扮演着至关重要的角色,它们提供了一种通用的解决方案来解决常见的问题。在本文中,我们将对 10 道 Java 面试必备的设计模式面试题进行详细的解析,涵盖了单例...

    【面试资料】-(机构内训资料)设计模式面试专题.zip

    这份【面试资料】-(机构内训资料)设计模式面试专题,将帮助我们深入理解设计模式的核心概念,并为面试做好充分准备。 设计模式分为三类:创建型模式、结构型模式和行为型模式。每一种模式都有其特定的应用场景和...

    设计模式面试专题.zip

    在“设计模式面试专题”中,我们可能会涵盖以下关键知识点: 1. **设计原则**:首先,设计模式基于一些基本的设计原则,如单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖...

    c#经典教程/设计模式/笔试宝典/面试题(2/2)

    本压缩包主要内容为c#教程(书籍)及一些经典资料,主要包括有: ...23种设计模式.pdf c++笔试面试宝典2009版.doc 程序员面试宝典.pdf 高质量C++-C编程指南.mht 注意:共有两个分卷,这是分卷2。

    2024最新设计模式面试题

    2024最新设计模式面试题

    Android设计模式面试专题.pdf

    "Android设计模式面试专题" Android 设计模式是一种软件设计模式,旨在帮助开发者编写更加灵活、可维护、可扩展的代码。设计模式的核心思想是将软件系统中变化的部分和不变的部分分离,实现松耦合、提高代码的可...

Global site tag (gtag.js) - Google Analytics