11 2021 档案
摘要:定义: 定义对象之间的一种一对多的依赖关系,使得每当一个对象的状态发生变化时,其相关的依赖对象都可以得到通知并被自动更新。 模式主要用于多个不同的对象对一个对象的某个方法会做出不同的反应! 比如猫叫之后狗会叫老鼠会逃跑,这时候猫就是被观察者,老鼠和狗都是观察者。 角色: 抽象目标:这是被观察的对象(
阅读全文
摘要:定义: 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化。 本质上是对命令进行封装,将发出命令的责任和执行命令的责任分隔开。 角色: 接收者类:实现了具体的业务操作,拿电视机来说,这个类实现了电视机的开启和关闭的真实操作方法。 抽象命令类:定义了一个执行命令的方法接口,由其子类实现
阅读全文
摘要:**定义:**避免请求的发送者和接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,沿着这条链传递请求,直到有对象处理它为止。 角色: 抽象处理者:Handler 具体处理者:ConcreteHandler 客户类:Client 模式分析: 关键在于抽象处理者类的设计:很多对象由每
阅读全文
摘要:**定义:** 给某个对象提供一个代理,并由代理对象控制对原对象的引用。 **角色:** - 抽象主题角色:里面包含了抽象的业务操作。- 代理主题角色:实现抽象主题接口,关联真实主题角色,对真实主题角色的一些业务进行一些预先处理和延后处理。- 真实主题角色:里面包含的真实的业务需求,客户端调用的时只
阅读全文
摘要:**定义:**外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统的一组接口提供 了一个一致的界面。 **实例:**一个电源总开关可以控制四盏灯、一个风扇、一台空调和一个电视机的启动和关闭。 核心理解 外观模式做的事情是这样的: 比如说你现在想把家里的灯关了、把空调关了、把电视机也关了。正
阅读全文
摘要:定义:动态地给一个对象增加一些额外的职责。 角色: 抽象构件:Component 具体构件:ConcreteComponent 抽象装饰类:Decorator 具体装饰类:ConcreteDecorator 模式分析: 具体构件类和抽象构件类都实现了抽象构件接口,模式的关键在于抽象装饰类,这个类实现
阅读全文
摘要:核心理解 桥接模式做了这样一件事情: 就像图中所示:如果想要一个联想的台式电脑,那么就需要两层继承来拿到这个对象(类),第一这是低效率的,第二这是一种静态的定死的方式,扩展性很差。桥接模式的思想是把抽象化和实现化进行解耦分离,比如说**无论有多少个品牌,抽象来看它们都只是品牌,无论有多少种电脑,它们
阅读全文
摘要:3.3 单例模式(Singleton) 注意点: 静态私有成员变量。 私有构造函数。 静态公有工厂方法,返回唯一对象实例,方法中判断对象是否为空,如果为空则new一个新对象返回,俄国不为空,则直接将私有成员变量对象返回。 package com.a007; public class StuNo {
阅读全文
摘要:3.4 适配器模式(Adapter) 用途:将一个类的接口转换成客户希望的另一个类的接口。 **例子:**电脑网线USB转接器 角色: 电脑(客户端)、网线、转接器、目标接口NetToUsb 目标接口或抽象类(目标抽象类或目标抽象接口):这里例子中就是目标接口USB。 适配者类(需要适配的类 Ada
阅读全文
摘要:3.1 建造者模式(Builder) 例子:根据计算机组件组装不同的计算机。 用这个例子来理解一下创建者模式:首先这个模式做的事情是这样的,现在有一堆计算机零件,比如说一块硬盘它可以放在笔记本电脑上也可以放在台式机上,那么建造者模式就是把不同电脑的构建和表示分离,提供一个计算机产品类,里面包含了计算
阅读全文
摘要:3.2 原型模式(ProtoType) 具体角色: ProtoType抽象原型类 ConcreteProtoType具体原型类 步骤: 实现一个接口:Cloneable 重写一个方法:clone pubilc Object clone() object = super.clone() ; retur
阅读全文
摘要:2. 初识设计模式 2.1 设计模式定义 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码,让代码更容易被他人理解、保证代码的可靠性。 2.2 设计模式基本要素 模式名称、问题、目的、解决方案、效果、实例代码和相
阅读全文
摘要:1. 面向对象设计原则 1.1 可维护性较低的软件设计 过于僵硬 过于脆弱 复用率低 黏度过高 1.2 一个好的系统设计 可扩展性 灵活性 可插入性 复用:一个软件的组成部分可以在同一个项目的不同地方甚至在不同的项目重复使用。 面向对象设计复用的目标:实现支持可维护性的复用。(抽象、继承、封装、多态
阅读全文
摘要:设计模式复习 1. 面向对象设计原则 每种设计模式我都对应写了一份代码实现示例,在这个项目里,需要的朋友自取: https://github.com/SAH01/GOF-software-design-pattern-demo 1.1 可维护性较低的软件设计 过于僵硬 过于脆弱 复用率低 黏度过高
阅读全文
摘要:整合SSM 01 基本配置文件的关系 web.xml配置DispatcherServlet 02 需要的maven依赖 <!--依赖 1、junit 2、数据库连接池 3、servlet 4、jsp 5、mybatis 6、mybatis-spring 7、spring --> <dependenc
阅读全文
摘要:转发和重定向 视图解析器 <!--视图解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!-- 前缀 -
阅读全文
摘要:初识SpringMVC 实现步骤: 新建一个web项目 导入相关jar包 编写web.xml,注册DispatcherServlet 编写springmvc配置文件 接下来就是去创建对应的控制类 , controller 最后完善前端视图和controller之间的对应 测试运行调试 使用sprin
阅读全文
摘要:一、创建普通的maven项目 二、右键添加web支持 三、pom.xml配置maven环境 1 <!--导入依赖--> 2 <dependencies> 3 <dependency> 4 <groupId>junit</groupId> 5 <artifactId>junit</artifactId
阅读全文
摘要:先上一张原理图 -- 序号为执行顺序,实线箭头为SpringMVC内部执行,虚线为用户执行 -- 开始理解流程 1、首先用户发起请求,请求被DispatcherServlet拦截(在web.xml中配置) 2、拦截之后去寻找请求对应的映射器 (HandlerMapping为处理器映射。Dispatc
阅读全文
摘要:代码 1 # 读取文件 2 fn = open('youxi.txt', 'rt', encoding='utf-8') # 打开文件 3 string_data = fn.read() # 读出整个文件 4 fn.close() # 关闭文件 5 6 # 文本预处理 7 pattern = re.
阅读全文
摘要:cloud.html 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>WordCloud Demo</title> 6 </head> 7 <body> 8 <!-- 顺序不能变--> 9
阅读全文
摘要:bar.html 1 <!DOCTYPE html> 2 <html style="height: 100%"> 3 <head> 4 <meta charset="utf-8"> 5 </head> 6 <body style="height: 100%; margin: 0"> 7 <div i
阅读全文
摘要:昨天踩了一个大坑,下面总结一下: 前后端数据交互的两种方式: 1、ajax发起请求(请求中可以带有数据)并获取返回的数据 下面给出一个ajax的常见格式: 1 $.ajax({ 2 url:"http://www.test.com", //请求的url地址 3 dataType:"json", //
阅读全文
摘要:创建maven项目,导入相关jar包 junit 1 <dependency> 2 <groupId>junit</groupId> 3 <artifactId>junit</artifactId> 4 <version>4.12</version> 5 </dependency> mybatis
阅读全文
摘要:谈谈 MyBatis 源自官方文档:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java 对象为数据库中
阅读全文
摘要:mybatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 MyBatis系统中默认定义了两级缓存: 一级缓存和二级缓存 默认情况下,只有一级缓存开启。(SqlSession级别的缓存,也称为本地缓存) 二级缓存需要手动开启和配置,
阅读全文
摘要:foreach <select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list"
阅读全文
摘要:如果这样来写一个 mapper 1 <update id="createTable3" parameterType="map"> 2 drop table if exists ${tableName}; 3 CREATE TABLE ${tableName} ( 4 field_1 VARCHAR(
阅读全文
摘要:今天写了一个简单的测试例子,用mybatis实现新建一个MySQL数据表 整体是JavaWeb项目,下面的代码是不完整的。 这是mapper 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybat
阅读全文
摘要:第一章:引言 用例是代表系统中各个项目相关人员之间就系统的行为所达成的契约。用例描述了在不同的条件下,系统对某一项目相关人员的请求所作出的响应。根据执行者作出的请求和请求涉及的条件,系统将执行不同的行为序列,每一行为序列称之为一个场景,一个用例是多个不同场景的集合。用例能够在项目组中激发对项目系统的
阅读全文
摘要:mapper 1 <!--传递map的key --> 2 <insert id="addUser2" parameterType="map"> 3 insert into mybatis.user (id , name ,password ) values(#{userid},#{username}
阅读全文
摘要:1 <dependencies> 2 <!--导入Mybatis依赖包--> 3 <dependency> 4 <groupId>org.mybatis</groupId> 5 <artifactId>mybatis</artifactId> 6 <version>3.5.2</version> 7
阅读全文
摘要:结果集映射: resultMap解决数据库字段名和属性名不一致的问题 id name pwd id name password column 是数据库的字段名 property 是实体类的属性名 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ma
阅读全文
摘要:设计模式六大原则 1、开闭原则(Open Close Principle)开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们
阅读全文
摘要:玛格丽特·米切尔 《飘》 1、过去的已经过去了,死了的已经死了,活着的还要继续活着。2、所有随风而逝的都属于昨天的,所有历经风雨留下来的才是面向未来的。3、我从来不是那样的人,不能耐心地拾起一地碎片,把它们凑合在一起,然后对自己说,这个修补好了的东西,跟新的完全一样。一样东西破碎了就是破碎了,我宁愿
阅读全文
摘要:备份表 【用户_文件名】 表头字段 操作表 【用户_文件名 _文件类型】 表头字段 字段状态表 【用户_文件名 _state】 字段名、各种状态(停用_已清洗等) 【field_name、field_state】 表操作日志表 【table_log】 序号、表名、时间、操作(增加_删除等编号)、用户
阅读全文
摘要:数据库设计 备份表(表名为所有者ID_文件名): 表头字段 操作表(表名为所有者ID_文件名 _文件类型): 表头字段 字段状态表(表名为所有者ID_文件名 _state): 字段名、各种状态(停用_已清洗等) 表操作日志表: 序号、表名、时间、操作(增加_删除等编号)、用户 表操作类型表: 编号、
阅读全文
摘要:maven依赖: 1 <dependency> 2 <groupId>net.sf.json-lib</groupId> 3 <artifactId>json-lib</artifactId> 4 <version>2.2.3</version> 5 <classifier>jdk13</class
阅读全文
摘要:该方法可以获取一个String字符串的(x,y)个字符。 其中x和y是左闭右开的,左边的可以取到,右边的取不到,并且索引从0开始。 例如 1 String text = "reliableYang"; 2 System.out.println(text.substring(1,3)); 【1,3)
阅读全文
摘要:1 try { 2 conn=JDBCUtil.getConnection(); 3 preparedStatement = conn.prepareStatement(DROP_TABLE_1); 4 preparedStatement.executeUpdate(); 5 preparedSta
阅读全文
摘要:出现这个问题的根本原因在于这一行代码: 解决办法就是把super这一行代码删掉。 这一行代码简单理解就是:HTTPServlet的doPost方法的默认实现返回HTTP 405状态码。 父类HttpServlet的doGet或doPost方法覆盖了你重写的方法,而父类 HttpServlet的doG
阅读全文
摘要:首先进行maven的配置:导入相关依赖 1 <dependency> 2 <groupId>org.apache.poi</groupId> 3 <artifactId>poi</artifactId> 4 <version>3.14</version> 5 </dependency> 6 <dep
阅读全文
摘要:软件开发业务建模分析 业务建模 三级需求:业务需求、用户需求、系统需求(也叫功能需求) 简单理解: 业务需求:怎么实现盈利,怎么吸引用户。 ” OKR(Objectives and Key Results)“目标与关键成果法,业务需求的目标是吸引用户,获得盈利,所以在描述业务需求的时候,需要方法技巧
阅读全文
摘要:数据表 代码 1 import pandas as pd 2 import pymysql 3 4 5 def get_subject_1992(): 6 res={} 7 the_former_code = "" 8 layer1_code = "" # 一位 9 layer1_name = ""
阅读全文
摘要:国家统计局网站相关分级页面截图 基本思路 爬取每个页面的a标签内容,生成省市两级数据字典,最后合成区县对应的链接,爬取第三层区划代码和名字,结合省市两级名字生成最后的标准。 代码 1 import pymysql 2 from bs4 import BeautifulSoup 3 import re
阅读全文
摘要:常见的企业管理系统 ERP(企业资源计划系统)Enterprise Resource Planning 是以全面系统化的管理思想为基础,帮助企业实现各部门的便捷管理,适用于管理流程成熟、顺畅,有各部门全方位管理需求的企业。 CRM(客户关系管理系统)Customer Relationship Man
阅读全文
摘要:Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(20) NOT NULL, `na
阅读全文
摘要:1、AOP 1.1、什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用A
阅读全文