美文网首页学习准备
简述一下你了解的设计模式

简述一下你了解的设计模式

作者: 饭饭H | 来源:发表于2017-09-16 19:10 被阅读678次

所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。

在GoF的《Design Patterns: Elements of Reusable Object-Oriented Software》中给出了三类(创建型[对类的实例化过程的抽象化]、结构型[描述如何将类或对象结合在一起形成更大的结构]、行为型[对在不同的对象之间划分责任和算法的抽象化])共23种设计模式,包括:Abstract Factory(抽象工厂模式),Builder(建造者模式),Factory Method(工厂方法模式),Prototype(原始模型模式),Singleton(单例模式);Facade(门面模式),Adapter(适配器模式),Bridge(桥梁模式),Composite(合成模式),Decorator(装饰模式),Flyweight(享元模式),Proxy(代理模式);Command(命令模式),Interpreter(解释器模式),Visitor(访问者模式),Iterator(迭代子模式),Mediator(调停者模式),Memento(备忘录模式),Observer(观察者模式),State(状态模式),Strategy(策略模式),Template Method(模板方法模式), Chain Of Responsibility(责任链模式)。

面试被问到关于设计模式的知识时,可以拣最常用的作答,例如:

- 工厂模式:工厂类可以根据条件生成不同的子类实例,这些子类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作(多态方法)。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

- 代理模式:给一个对象提供一个代理对象,并由代理对象控制原对象的引用。实际开发中,按照使用目的的不同,代理可以分为:远程代理、虚拟代理、保护代理、Cache代理、防火墙代理、同步化代理、智能引用代理。

- 适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起使用的类能够一起工作。

- 模板方法模式:提供一个抽象类,将部分逻辑以具体方法或构造器的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法(多态实现),从而实现不同的业务逻辑。

除此之外,还可以讲讲上面提到的门面模式、桥梁模式、单例模式、装潢模式(Collections工具类和I/O系统中都使用装潢模式)等,反正基本原则就是拣自己最熟悉的、用得最多的作答,以免言多必失。

相关文章

  • 设计模式  ,JVM,数据库

    三、设计模式 1、简述一下你了解的设计模式。 2、写出单利模式,懒汉和饿汉 四、JVM 1、描述一下JVM加载cl...

  • 简述一下你了解的设计模式

    所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可...

  • Java 常用设计模式简例

    简述Java常用设计模式 简述Java常用设计模式及设计原则 strate---------策略模式针对接口编程,...

  • JavaScript设计模式

    你将在本文中,了解什么是设计模式! 你将了解设计模式有什么优点! 你将了解两种设计模式-观察者模式和装饰模式! 一...

  • 你真的了解iOS代理设计模式吗?

    你真的了解iOS代理设计模式吗? 你真的了解iOS代理设计模式吗?

  • MySQL to HBase over Kafka Connec

    Kafka 简述 本节仅会以扫盲式的模式简述 kafka 的设计, 不会深入分析细节, 如果你已经对 kafka ...

  • 【rabbitMQ】消息队列rabbitMQ面试题

    简述rabbitMQ的架构设计 简述rabbitMQ的普通集群模式 注意: rabbitMQ普通集群模式不能解决高...

  • 面试题整理

    1.http和scoket通信的区别 2.mvc设计模式是什么?你还熟悉什么设计模式?3.fmdb框架(了解一下)...

  • 42 设计模式——总结23种设计模式

    下面总结一下这 23 种设计模式,以方便小伙伴们日后复习和查阅。 分类设计模式简述一句话归纳目的生活案例创建型设计...

  • 设计模式简述

    设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间...

网友评论

    本文标题:简述一下你了解的设计模式

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