四、工厂模式(Factory Pattern)《HeadFirst设计模式》读书笔记

  工厂模式可以细分为三种类型:1)简单工厂 2)工厂方法 3)抽象工厂。简单工厂其实并不是一个设计模式,反而比较像是一种编程习惯。总体来说,工厂模式可以减少应用程序和具体类之间的依赖,促进松耦合,同时也方便后期的扩展。   1.简单工厂     很多时候我们都采用new的方式直接创建一个对象,但当创建对象的代码逻辑比较复杂,比如说要经过一系列的if-else语句返回具体符合条件的对象,一般我们都抽取出一个方法,使整体的代码结构更清晰,可读性更高。我们可以更近一步的将这个方法封装到另外一个类中
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

浏览器与浏览器内核

主流浏览器 Internet Explorer 与 Edge 简称IE是微软旗下的一款浏览器,Edge是IE的替代产品。 Chrome 是Google旗下的一款浏览器。 firefox浏览器,简称FF浏览器,mozilla公司旗下浏览器。 safari浏览器,苹果公司旗下浏览器,在苹果系统下是很优秀的浏览器,已停止对windows系统的支持。 opera浏览器,挪威厂商opera旗下浏览器,该公司还在研发另一款浏览器opera next。 浏览器内核 浏览器的内核由两部分构成,分别是渲染引擎和
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

简单了解什么是微服务架构

微服务与微服务架构 微服务: 从字面意思理解,它就是一个小的服务,是为了解决某个问题或是完成一个具体功能而落地实现的某个服务应用,可以简单理解为IDEA里面的一个Moudle。 微服务架构: 简单来说,它就是一种架构设计风格,本质就是将一个独立的系统拆成多个小型服务,每个小型服务都存在于独立的进程中,它们有各自的数据库、业务逻辑和独立部署机制,服务之间通过HTTP的RESTful API进行通信。由于有了轻量级的通信协作基础,因此这些微服务可以用不同的语言来编写。 微服务的优点 能够独立部署和
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

Spring IOC基于XML容器的初始化(上)

IOC 容器的初始化包括 BeanDefinition 的 Resource 定位、加载和注册这三个基本的过程。我们以ApplicationContext 为例讲解,ApplicationContext 系列容器也许是我们最熟悉的,因为 Web 项目中使用的 XmlWebApplicationContext 就属于这个继承体系,还有 ClasspathXmlApplicationContext等,其继承体系如下图所示: ApplicationContext 允许上下文嵌套,通过保持父上下文可以
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

pytest-html报告

1、打开cmd,cd到需要执行pytest用例的目录,执行指令:pytest --html=report.html 2、指定报告的path 执行指令: pytest --html=./report/report.html #相对路径,也可指定绝对路径 报告独立显示 上面方法生成的报告,css是独立的,分享报告的时候样式会丢失,为了更好的分享发邮件展示报告,可以把css样式合并到html里: pytest --html=report.html --self-contained-html
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

接下来

给未来写封信:http://paywhere.fast.im/wap/index.html?id=41 你好朋友,这是我和你分享的第一封信                 —致十年后的我 这是一件很奇妙的事情,十年前我会写信给我,十年后的我打开,不知道又是怎样一番心境 三年前,我曾经幻想过,自己将变成一个怎样的人 三年后,我却已经记不起当时的心境 写信是一个很好的方式 记住曾经的记忆,记住曾经的自己,也记住我的初心和开始 十八岁的青年,总是对未来抱有很大的幻想和憧憬 但事实上,未来的每一个场景
分类: 其他 发布时间: 06-28 23:34 阅读次数: 0

SpringBoot入门二十五,默认的404错误页面引入css和js文件

Springboot优化默认的404等错误页面样式,引入公共css和js文件
分类: 服务端 发布时间: 06-28 23:27 阅读次数: 0

通过实现生产者、消费者案例再次实践Java 多线程

线程通信,在多线程系统中,不同的线程执行不同的任务;如果这些任务之间存在联系,那么执行这些任务的线程之间就必须能够通信,共同协调完成系统任务。 生产者、消费者案例 案例分析 在案例中明,蔬菜基地作为生产者,负责生产蔬菜,并向超市输送生产的蔬菜;消费者通过向超
分类: 编程语言 发布时间: 06-28 23:18 阅读次数: 0

RedLock究竟是不是Redis分布式锁分布式环境下的银弹?

RedLock究竟是不是Redis分布式锁分布式环境下的银弹? 一、概述 在这个技术不断更新迭代的情况下,分布式这个概念,在企业中的权重越来越高!谈及分布式时,不可避免一定会提到分布式锁,现阶段分布式锁的实现方式主流的有三种实现方式,Zookeeper、DB、
分类: 编程语言 发布时间: 06-28 23:18 阅读次数: 0

【不懂就问】MyBatis的一级缓存竟然还会引来麻烦?

【“不懂就问”,是一个新的系列,主要整理我的小册群里遇到的一些比较有意思的 / 有难度的 / 容易被讨论起来的问题,并给出问题的解析和方案等等。喜欢的小伙伴们可以点赞关注我鸭 ~ ~ 学习源码可以看看我的小册 ~ ~】 端午假期相信不少小伙伴都在偷偷学习吧(说
分类: 编程语言 发布时间: 06-28 23:18 阅读次数: 0

异或交换两个变量值

异或交换两个变量值 swap函数完成变量a,b的交换。 void swap(){ a=a^b; b=b^a; a=b^a; } 分析:首先对于异或二进制两数运算结果为: 0^0=0; 0^1=1; 1^0=1; 1^1=0; 异或规律:一个数异或两次另外一个数等于原来那个数,即a ^ b ^ b=a(位置可交换); 由此不难得出: a=a^b;//第一个a相当于一个中间变量 b=b^a=b^a^b=a; a=b^a=a^a^b=b;//这里b=a,a=a^b
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

IOS active 状态失效问题

IOS active 状态失效问题 失效原因 By default, Safari Mobile does not use the :active state unless there is a touchstart event handler on the relevant element or on the . 解决办法 body标签上添加 ontouchstart 空方法(页面首个元素起作用) <body ontouchstart=""></body> document 或 body
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

Struts框架属性驱动

在 Struts2 框架中,页面的请求数据和 Action 有两种基本的对应方式,分别是字段驱动(FieldDriven,也称为属性驱动)方式和模型驱动(ModelDriver)方式。本节将针对这两种 Action 处理请求参数的方式进行详细讲解。 属性驱动 属性驱动是指在 Action 中通过字段属性进行与页面之间的数据传递,通常使用时会包括两种情况:一种是与基本数据类型的属性对应,另一种是直接使用域对象。 1. 基本数据类型字段驱动方式的数据传递 在 Struts2 中,可以直接在 Act
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

3+1>4 第十次作业:Beta冲刺 Scrum meeting 3

第三天 日期:2020/6/28 3.1 今日完成任务 |团队成员|今日完成的任务| 团队成员 明天的任务安排 王嫄 设计测试用例,并对笔记秀相关模块进行测试,完成相应部分测试报告单的填写 牛莉梅 设计测试用例,并对分类模块进行测试,完成相应部分测试报告单的填写 祁甜 设计测试用例,并对个人中心相关模块进行测试,完成相应部分测试报告单的填写 王爽 设计测试用例,并对个人中心模块进行测试,完成相应部分测试报告单的填写 3.2 明天任务安排 团队成员 明天的任务安排 王嫄 设计测试用例,并对剩余零
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

multisim中常见的显示器

multisim中常见的显示器 1、实验原理 multisim中做实验仿真一般需要各种各样的仿真器来模拟实验结果。这里列举几种比较常见的显示器以便后面快速选择。 2、实验操作 (1)LED【二极管】 用于模拟实际的发光二极管的指示效果,需要外接保护电阻。 (2)指示灯【指示器】 直接连接在测试点,用于表示测试点的电压状态,是虚拟的器件。PROBE一般用于数字电路。 (3)蜂鸣器【指示器】 用于对周期信号的频率进行模拟。 (4)数码管【指示器】 直接显示数字的数字器件。 (5)探针【快捷框】 可
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

DjangoRestFramework中serializer.save()方法经历了什么?

使用serializer.save()的mixin,CreateModelMixin处理post请求,UpdateModelMixin处理put,patch请求,这里可以看到create方法,get_serializer()创建序列化实例时,只是传入request.data浏览器发送过来的数据,UpdateModelMixin,get_serializer()创建序列化实例时,传入了通过get_object()方法取到数据对象instance ModelSerializer继承自Seriali
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

多喝热水【Beta】Scrum meeting 3

第三天:2020.6.28 · 各个成员今日完成的任务 姓名 今日完成任务 刘维 压力测试 程保华 压力测试 李松谕 编写项目总结陈述PPT 王瑞梅 撰写博客 · 各个成员明日的任务安排 姓名 明日任务安排 刘维 完善与整理团队项目资料 程保华 录制视频演示软件功能 李松谕 完善项目总结陈述PPT 王瑞梅 撰写博客与整理会议记录 · 发现BUG 在这块内容中出现了乱码现象,已解决。 · 各个成员对项目的贡献小时数 姓名 时间/h 刘维 5 程保华 5 李松谕 7 王瑞梅 5 · 站立式会议 ·
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

大爷的超市管理系统——冲刺第四天

软件工程 https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/ 作业要求 作业要求 团队名称 能混绝不c 作业目标 项目冲刺 作业正文 如下 参考文献 baidu SCRUM部分 队员 完成的任务 花费时间 剩余时间 遇到问题 解决问题 伍淑琪 仓库模块交互 4h 4t 导入表格出错 导入问题 龚慧 仓库的设计与优化 4h 4t 页面排版错乱 排版问题 罗辉波 仓库模块数据库 3h 4t 数据库闪退 闪退问题 唐睿
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

python测试开发django-75.ORM根据日期查询(__range)

前言 在使用django的 ORM 查询时候,我想查询最近3天的数据,需根据日期查询某一段时间的数据 时间筛选方式 可以根据 __year、__month、__day、__week_day 查询对应时间的记录 比如我表里面的字段是add_time, model 模型名称是 Card 先进 shell 交互模式,使用__year查询2020年的所有数据 MyDjango>python manage.py shell >>> from yoyo.models import Card >>> Car
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0

【算法 C】Leetcode 36. Valid Sudoku 有效的数独

其实算法并没有太难,无论是3次遍历还是1次遍历,都不会超时,我在做的时候,如何使用测试数据反而困扰了我很久。 读取测试数据 将测试数据放在文件中读取,这里将文件指针改为stdin应该也是一样的效果。 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> #include <string.h> int main() { int boardSize = 9; int boardColSize = 9; ch
分类: 其他 发布时间: 06-28 23:18 阅读次数: 0