zoukankan      html  css  js  c++  java
  • 简述一下你了解的设计模式?

    所谓设计模式就是一套被反复使用的代码设计经验的总结情境中一个问题经 

    过证实的一个解决方案)。使用设计模式是为了可重用代码让代码更容易被他 

    人理解保证代码可靠性设计模式使人们可以更加简单方便的复用成功的设计 

    和体系结构将已证实的技术表述成设计模式也会使新系统开发者更加容易理解 

    其设计思路

     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(命令模式),

     317   485 页第 318   485  

    Interpreter(解释器模式),Visitor(访问者模式),Iterator(迭代子模式),

    Mediator(调停者模式),Memento(备忘录模式),Observer(观察者模式),

    State(状态模式),Strategy(策略模式),Template Method(模板方法模式),

    Chain Of Responsibility(责任链模式)。

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

    工厂模式工厂类可以根据条件生成不同的子类实例这些子类有一个公 

    共的抽象父类并且实现了相同的方法但是这些方法针对不同的数据进行了不同 

    的操作多态方法)。当得到子类的实例后开发人员可以调用基类中的方法而 

    不必考虑到底返回的是哪一个子类的实例

    代理模式给一个对象提供一个代理对象并由代理对象控制原对象的引 

    实际开发中按照使用目的的不同代理可以分为远程代理虚拟代理

    保护代理、Cache 代理防火墙代理同步化代理智能引用代理

    适配器模式把一个类的接口变换成客户端所期待的另一种接口从而使 

    原本因接口不匹配而无法在一起使用的类能够一起工作

    模板方法模式提供一个抽象类将部分逻辑以具体方法或构造器的形式 

    实现然后声明一些抽象方法来迫使子类实现剩余的逻辑不同的子类可以以不 

    同的方式实现这些抽象方法多态实现),从而实现不同的业务逻辑

    除此之外还可以讲讲上面提到的门面模式桥梁模式单例模式装潢模式 

    (Collections 工具类和 I/O 系统中都使用装潢模式反正基本原则就是拣 

    自己最熟悉的用得最多的作答以免言多必失

  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/programb/p/13019344.html
Copyright © 2011-2022 走看看