面试专题-设计模式
面试专题-设计模式前言在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。
面试官一般比较关心的是你在开发过程中,有没有使用过设计模式,或者你在简历上写了关于设计模式的描述,那么这样我们就需要重点关心自己开发中用过的设计模式。
在平时的业务开发中,其实真正使用设计模式的场景并不多,虽然设计号称有23种之多(不同的纬度可能会更多),但是在项目最常使用的也就几种而已,在面试的过程中,我们主要介绍一种或两种就可以,重点要说的是:在什么业务场景下使用了设计模式,什么设计模式?
这次面试部分,我们主要介绍三种设计模式:
工厂方法模式(简单工厂、工厂方法、抽象工厂)
策略模式
责任链模式
1 工厂方法模式1.1 概述需求:设计一个咖啡店点餐系统。
设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设计一个咖啡店类(CoffeeStore),咖啡店具有点咖啡的功能。
具体类的设计如下:
1.类图中的符号
+ ...
Servlet-JSP
需要提前准备了哪些技术,接下来的课才能听懂?
JavaSE(Java语言的标准版,Java提供的最基本的类库)
Java的开发环境搭建
Java的基础语法
Java的面向对象
数组
常用类
异常
集合
多线程
IO流
反射机制
注解Annotation
…..
MySQL(数据库)
最基本的要求是:能够编写增删改查等简单的SQL语句即可。
JDBC(Java语言链接数据库)
这是一套Java语言链接数据库的接口。
WEB前端(会一些)
HTML(网页)
CSS(层叠样式表语言,修饰HTML)
JavaScript(一种脚本语言,运行在浏览器当中,让浏览器中的元素可以增删改。让网页产生更强的交互效果)
WEB后端
Servlet(Server Applet:服务器端的Java小程序)
JSP
AJAX
jQuery
MyBatis
Spring
SpringMVC
SpringBoot
SpringCloud
……
Typora软件介绍
Markdown文本编辑器(可以编辑xxx.md文件)
12345public class Test{ publi ...
AJAX
AJAX(Asynchronous Javascript And Xml)传统请求及缺点
传统的请求都有哪些?
直接在浏览器地址栏上输入URL。
点击超链接
提交form表单
使用JS代码发送请求
window.open(url)
document.location.href = url
window.location.href = url
….
传统请求存在的问题
页面全部刷新导致了用户的体验较差。
传统的请求导致用户的体验有空白期。(用户的体验是不连贯的)
AJAX概述
AJAX不能称为一种技术,它是多种技术的综合产物。
AJAX可以让浏览器发送一种特殊的请求,这种请求可以是:异步的。
什么是异步,什么是同步?
假设有t1和t2线程,t1和t2线程并发,就是异步。
假设有t1和t2线程,t2在执行的时候,必须等待t1线程执行到某个位置之后t2才能执行,那么t2在等t1,显然他们是排队的,排队的就是同步。
AJAX是可以发送异步请求的。也就是说,在同一个浏览器页面当中,可以发送多个ajax请求,这些ajax请求之间不需要等待,是并发的。
AJAX代码属于WEB前端 ...
Vue2
三. Vue 21. Vue 基础1) 环境准备安装脚手架1npm install -g @vue/cli
-g 参数表示全局安装,这样在任意目录都可以使用 vue 脚本创建项目
创建项目1vue ui
使用图形向导来创建 vue 项目,如下图,输入项目名
选择手动配置项目
添加 vue router 和 vuex
选择版本,创建项目
安装 devtools
devtools 插件网址:https://devtools.vuejs.org/guide/installation.html
运行项目进入项目目录,执行
1npm run serve
修改端口前端服务器默认占用了 8080 端口,需要修改一下
文档地址:DevServer | webpack
打开 vue.config.js 添加
12345678910const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({ // ... devSe ...
Butterfly配置项
1.前言 参考:分类: 魔改教程 | Fomalhaut🥝
2.语言修改站点配置文件_config.yml,默认语言是 en 。主题支持三种语言:
default(en)
zh-CN (简体中文)
zh-TW (繁体中文)
3.网站资料修改网站各种资料,例如标题、副标题和邮箱等个人资料,请修改站点配置文件_config.yml。部分参数如下,详细参数可参考官方的配置描述。
参数
描述
title
网站标题
subtitle
描述
description
网站描述
keywords
网站的关键词。支持多个关键词
author
您的名字
language
网站使用的语言。对于简体中文用户来说,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hans和 zh-CN。
timezone
网站时区。Hexo 默认使用您电脑的时区。请参考 时区列表 进行设置,如 America/New_York, Japan, 和 UTC 。一般的,对于中国大陆地区可以使用 Asia/Shanghai
4.导航菜单修改主题配 ...
Vercel部署与自定义域名
1.Vercel部署与自定义域名参考:分类: 魔改教程 | Fomalhaut🥝
1.1 Vercel部署Vercel简介:vercel是一个代码托管平台,它能够托管你的静态html界面,甚至能够托管你的node.js与Python服务端脚本,是不想买服务器的懒人的福音!
使用Vercel部署Hexo项目步骤:
首先需要一个Vercel账号,这里推荐用GitHub账户关联,这样你就可以在vercel中直接托管你的GitHub库中的项目了,实现开发部署一步到位(网络不流畅可以考虑挂梯子)。
当你用你的Github账户关联并绑定手机号登录之后,点击右上角的Add New Project创建新的项目,之后导入选项那里选择Continue with Github,这时候应该能看到你Github账号的仓库,选择你刚刚部署成功的存储静态博客的仓库<username>.github.io右边的Import选项,表示你要导入该仓库。
起一个只能有字母、数字或者或者连字符的项目名称,然后其他默认,点击Deploy,等待一分钟即可部署成功,部署成功后电极Continue to Dashb ...