【问题】数据库存储图片
摘要:问题描述 用户上传图片(头像),后台要保存此数据 解决方案 使用Apache commons-fileupload包来做上传部分,当文件保存之后,将其在服务器的相对路径保存到数据库。由于头像要在前台展示,所以此链接在前端的html页面中的img标签中可以直接使用。之前我存的是完整的图片url,这样做
阅读全文
posted @
2020-12-28 10:02
老鼠不上树
阅读(116)
推荐(0)
【问题】手机短信验证码数据是否持久化
摘要:问题描述 场景:手机验证码登录 要求:1. 验证码5分钟失效 2. 登录后验证码失效 3. 验证码重发 自己的方案 因为是Servlet开发,所以每个Servlet(默认)在接口被访问时实例化,且是单实例的情况。所以我选择使用两个静态变量(HashMap)来存储手机-验证码和手机-定时器(实例变量也
阅读全文
posted @
2020-12-23 10:22
老鼠不上树
阅读(934)
推荐(0)
设计模式--Q&A
摘要:Q&A 书中总结的一些QA 详情 哪个模式最好? 没有正确答案(【手动滑稽】)。评价模式的影响因素很多(现状、需求、限制等等)。但是如果你了解所有模式,你的选择就会很灵活。实际上,我们经常需要结果多种方式来满足需求 为什么我们应该使用设计模式? 在实际的应用开发中,对于软件开发过程有很多的通用(可复
阅读全文
posted @
2020-12-16 11:51
老鼠不上树
阅读(115)
推荐(0)
翻译模式
摘要:Interpreter Patterns GoF定义:如果有一种语言,那么需要定义语法结构并且需要一个翻译器来解释语言中的语句 概念 这里我们为一种语言定义一个语法规范,并且提供了解释器来处理语法。简单来说,这个模式表达的是如何计算语言中语句的值(真实含义) 例子 现实世界:语言翻译就是这个模式最恰
阅读全文
posted @
2020-12-15 09:29
老鼠不上树
阅读(787)
推荐(0)
参观者模式
摘要:Visitor Patterns GoF定义:表示在一个对象结构的某个元素上的一个操作。这个模式可以让你在不改变这个元素所在的类的情况下定义新的操作 概念 这个模式帮助我们在不对现有类进行改变的前提下增添新功能。所以我们在这里可以遵循open/close原则(对扩展开放,对修改关闭) 例子 现实世界
阅读全文
posted @
2020-12-14 22:48
老鼠不上树
阅读(148)
推荐(0)
读MyBatis官方文档--配置
摘要:Configuration MyBatis的配置包括设置和属性,它们会动态影响MyBatis的行为,下面是高级别(应用级)的文档 properties 外部的、容易替换的属性可以配置在Java的properties文件中,或者放在properties元素的子元素中,例如 <properties re
阅读全文
posted @
2020-12-14 17:29
老鼠不上树
阅读(174)
推荐(0)
桥接模式
摘要:Bridge Patterns GoF定义:将抽象定义和其实现分离,达到解耦的目的 概念 在此模式中,将抽象类和它的实现类实现的接口分离。并且在它们之间提供一个桥接接口(bridge interface)。这个接口帮助我们使实现类的功能和接口的功能相独立。我们可以在不互相影响这些类的情况下进行结构性
阅读全文
posted @
2020-12-14 09:42
老鼠不上树
阅读(75)
推荐(0)
组合模式
摘要:Composite Patterns GoF定义:将对象组织成树状结构来表示整体--部分的关系,组合模式使得客户端对一个单独对象和一组对象的行为不变(认知相同) 概念 客户端使用一个组合对象就和使用一个单独对象一样。在OO语言中,当我们有很多对象,它们有一些共有特性时,我们会将其组成组合对象。它们的
阅读全文
posted @
2020-12-12 23:18
老鼠不上树
阅读(74)
推荐(0)
Chain of Responsibility Patterns
摘要:Chain of Responsibility Patterns GoF定义:通过让多个(超过一个)对象来处理请求实现请求发送者和接收者的耦合度。接收者(对象)的链会被传入请求,直到有一个对象处理此请求 概念 这里按序列方式处理对象,会有一个源来执行这个过程。我们会创建一个接收链,其中的每个对象都有
阅读全文
posted @
2020-12-12 22:57
老鼠不上树
阅读(50)
推荐(0)
原型模式
摘要:Prototype Patterns GoF:使用原型的(prototypical)实例来指定可以创建的一些对象,并且通过复制原型对象来创建这些新对象 概念 创建一个新对象被认为是花销比较大的操作。原型模式是作为创建新对象的一种替代做法(通过复制)。这里我们注重于减少创建新对象的花销 例子 现实世界
阅读全文
posted @
2020-12-10 23:25
老鼠不上树
阅读(73)
推荐(0)
中介者模式
摘要:Mediator Patterns GoF定义:定义一个对象来处理一组对象的交互。中介者模式通过避免对象之间互相引用提高了解耦程度,允许用户独立改变它们各自的交互操作 概念 中介者是负责一组对象交互的。它会追踪各个对象之间的交流记录。系统中的其它对象也知道有这个中介者的存在,当它们想和其它的对象交互
阅读全文
posted @
2020-12-09 22:17
老鼠不上树
阅读(69)
推荐(0)
抽象工厂模式
摘要:Abstract Factory Patterns GoF定义:提供一个接口,用来创建一组相关联的或有依赖关系的对象,在不提供它们的具体类的前提下 概念 在这个模式中,我们会为一组独立的工厂构建一个处理机制。这些工厂有一个共同的主题。在这里,这个接口用来创建相关联的对象。我们不会直接使用实现类或具体
阅读全文
posted @
2020-12-08 23:29
老鼠不上树
阅读(71)
推荐(0)
Java语法--继承
摘要:继承 继承(inheritance)是面向对象编程的另一个基本概念。继承背后的理念是可以在已有类的基础上创建新类。本章包含了反射内容(看来反射在应用级别并不属于高级话题啊),帮助在运行程序的过程中来找到其它的类(技术复杂,对于制作工具的开发人员很重要,但是应用开发人员不会常用) 类、超类、子类 以E
阅读全文
posted @
2020-12-08 14:46
老鼠不上树
阅读(269)
推荐(0)
Flyweight模式
摘要:Flyweight Patterns 享元模式,这俩字是真不知道谁想出来的 GoF定义:使用共享来高效支持大量细粒度的对象 概念 一个flyweight是一个对象,通过这个对象我们使用尽可能多的共享数据来节省内存。这里有两个术语,intrinsic_和_extrinsic,前者可以被存在flywei
阅读全文
posted @
2020-12-07 22:05
老鼠不上树
阅读(86)
推荐(0)
Builder模式
摘要:Builder Patterns GoF定义:将复杂对象的初始化过程根据它的参数来做拆分,这样一个构造过程可以构造出不同的对象(属性内容不同) 概念 在一个复杂对象的构造过程中,如果它状态的组成部分是相互独立的,那么可以使用这个模式。这种构造过程可以按照需要创建出不同的对象 例子 现实世界:当组装一
阅读全文
posted @
2020-12-06 16:52
老鼠不上树
阅读(102)
推荐(0)
状态模式
摘要:State Patterns GoF定义:使一个对象在其自身状态发生变化时其行为也对应发生变化。这个对象看起来像是改变了它的类 概念 用事实说话【滑稽】 例子 现实世界:想象在网络连接中,这里负责连接的对象会有很多种状态(正在连接、连接成功、连接关闭) 代码世界:假设一个系统只能处理固定数量个任务,
阅读全文
posted @
2020-12-05 20:17
老鼠不上树
阅读(65)
推荐(0)
备忘录模式
摘要:Memento Patterns GoF定义:在不破坏(类)封装的情况下,获取一个对象当前的状态,使得之后这个对象可以恢复成这个状态 概念 目的是为了保存对象当前的状态,这样在之后可以恢复成这个状态。这个模式中有三个角色,分别为备忘录(memento),看管人(caretaker),创始人(orig
阅读全文
posted @
2020-12-04 22:18
老鼠不上树
阅读(47)
推荐(0)
Java语法--面向对象
摘要:Objects and Classes 《Java Core》.ed.11 学习笔记 介绍面向对象编程 OOP是当前主流的编程范式。OO的程序是由对象构成,每个对象有其特殊的功能,将其暴露给用户,且隐藏实现细节。只要一个对象满足你的要求,那么不必关心其功能如何实现 曾经,结构化编程是写好算法,然后存
阅读全文
posted @
2020-12-04 16:50
老鼠不上树
阅读(163)
推荐(0)
工厂方法模式
摘要:Factory Method Patterns GoF定义:定义一个接口来创建它的对象,但是由子类(实现类)来决定到底实例化哪个类。工厂方法使得类的实例化过程推迟到子类(而不是直接实例化一个类) 概念 用事实说话【滑稽】 例子 现实世界:假设你有两种电视,一种是LED屏幕,一种是LCD屏幕,当它们出
阅读全文
posted @
2020-12-04 00:08
老鼠不上树
阅读(87)
推荐(0)
外观模式(门面模式)
摘要:Facade Patterns GoF定义:将系统中的一系列接口放到一个接口当中,这个高层级的接口是为了让子系统使用更方便 概念 这是松耦合模式中的一种,这里主要分析它的抽象结构,通过暴露一个简单接口,来隐藏复杂的细节 例子 现实世界:假如你举办一个生日聚会,那么你可以找一个聚会组织者,告诉他聚会的
阅读全文
posted @
2020-12-02 23:21
老鼠不上树
阅读(51)
推荐(0)
迭代器模式
摘要:Iterator Patterns GoF定义:在不暴露底层保存数据的结构情况下实现对集合对象的遍历(访问) 概念 迭代器经常被用来遍历容器(Container)中的元素 例子 现实世界:如果有两个公司,公司A使用链表保存职员信息,而公司B用大数组来保存职员信息,当两个公司合并,它们想用一种方式来查
阅读全文
posted @
2020-12-01 21:16
老鼠不上树
阅读(79)
推荐(0)