• 设计模式面试总结


    你用过哪些常见的设计模式

    策略模式

    定义了算法簇,分别封装起来让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
    先设计插件类,然后定义插件的基础方法,比如数据校验,数据筛选,数据下发。这些在不同的类型中的实现是不一样的。不同的分类插件分别实现这些基础方法。具体的插件实现类中进行组合。也就完成了不同类型插件执行不同类型策略。

    工厂模式

    根据获得的标识调用不同的工厂,创建不同的实例教给调用方去整合。

    单例模式

    需要自己使用的教给Spring去管理,这些满足单例模式。

    适配器模式

    代理模式

    代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法、实际执行的是被代理类的方法。

    设计模式六大原则

    1. 开闭原则 : 对扩展开放,对修改关闭
    2. 里氏代换原则: 任何基类可以出现的地方,子类一定可以出现,LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现.
    3. 依赖倒转原则: 这个是开闭原则的基础,具体内容:真对接口编程,依赖于抽象而不依赖于具体。
    4. 接口隔离原则:使用多个隔离的接口,比使用单个接口要好。还是一个降低类之间的耦合度的意思.
    5. 迪米特法则(最少知道原则):一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
    6. 合成复用原则:原则是尽量使用组合的方式,而不是使用继承,比如增加的功能和方法尽量多用组合,可以达到更好的复用效果,若使用继承,那么这次继承带来的扩展其他类是无法使用的。
  • 相关阅读:
    8.Nginx常用基础模块
    7.Web基础之Nginx
    6.Web基础之http协议
    5.SSH远程服务
    4.Sersync实时同步
    3.NFS 共享存储
    前端-CSS
    前端-HTTP
    MySQL-其他知识点
    MySQL-pymysql模块
  • 原文地址:https://www.cnblogs.com/threecha/p/14019084.html
Copyright © 2020-2023  润新知