摘要: 概述 当复杂的构建过程通常不变,改变的只是内部的实现算法和业务逻辑时使用;将复杂的构建过程和具体的内部实现相分离,使得构建过程公用化。 UML ​ 结构 产品(Product):需要被建造的目标;抽象建造者(Builder):规划好建造者类要执行的任务,如需要实现A项任务,B项任务和C项任务,需要返 阅读全文
posted @ 2019-06-30 10:30 runningRookie 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 问题概述 今天在上班时,DBA突然找出来一段sql,表示该sql存在隐式转换,不走索引。经过我们的查看后,发现是类型varchar的字段, 我们使用条件传入了数值型的值,由于担心违反保密协议,在此就不贴图了,由我重现一下类似情况给大家看一下。 问题重现 首先我们先创建一张用户表test_user,其 阅读全文
posted @ 2019-05-23 22:56 runningRookie 阅读(4090) 评论(1) 推荐(0) 编辑
摘要: 模板方法模式概述 将重复的,可复用的代码抽离出来,降低代码的重复率。 UML 一个简单的示例:在学校的人员分为老师和学生,老师和学生每天做的相同的事情有早读,吃中饭,吃晚饭,而做不同的事情则在休息时间和去不同的宿舍楼休息。 模板类: 学生类: 老师类: 测试类: 总结 在日常的编码中,经常会遇到整体 阅读全文
posted @ 2019-04-12 00:08 runningRookie 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 概述 UNION 连接数据集关键字,可以将两个查询结果集拼接为一个,会过滤掉相同的记录 UNION ALL 连接数据集关键字,可以将两个查询结果集拼接为一个,不会过滤掉相同的记录 今天在接到一个需求的时候使用了UNION进行查询后发现,如果两个查询分别使用ORDER BY后拼接居然无法成功排序,经过 阅读全文
posted @ 2019-03-14 19:52 runningRookie 阅读(1709) 评论(0) 推荐(0) 编辑
摘要: 错误信息:Traceback (most recent call last): File "manage.py", line 22, in execute_from_command_line(sys.argv) File "E:\pytho... 阅读全文
posted @ 2019-01-30 22:04 runningRookie 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 表结构: 表数据: 查询Sql 查询结果: 问题: 把USER_STATUS为0的数据查出来了,而我当时只需要状态为1的数据 后来发现是由于MySql中会将''空字符串当做数值0来处理 而当时这么写是由于业务需求有要求,我们为了开发方便,就在只查单个状态时,想要加上一个查不出其他状态数据的条件,我们 阅读全文
posted @ 2019-01-20 19:00 runningRookie 阅读(2466) 评论(0) 推荐(0) 编辑
摘要: 原型模式概述 某些特定的时候,我们需要同一个类生成多个相同的对象,或者是基于一个对象生成一个复制对象,并再对复制对象进行修改,这时候就可以使用到原型模式。 UML 一个简单的示例: 总结 使用原型模式可以在不需要知道对象的创建细节的情况下,生成一个与原有对象相同的对象,不易出错且java给我们提供了 阅读全文
posted @ 2018-12-09 00:39 runningRookie 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 今天在换到新的电脑系统时,需要重新安装Mysql,在下载了压缩包后,发现不能直接使用,花费很长时间搜索了多篇网上的说明后才将其装好,费时费力,故此处记录下安装步骤,防止自己再花费过多时间,也给遇到类似问题的人看看能否提供些许帮助。下载Mysql的压缩包... 阅读全文
posted @ 2018-12-05 11:37 runningRookie 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 代理模式概述 客户端不能直接操作B类(目标类),需要通过A类(代理类)调用B类的实例方法来完成最终的逻辑。其中A类和B类需要继承同一父级或者同一接口 UML图 一个简单的示例: 总结 当我们需要在实际操作的方法之前进行预处理(如添加日志操作,访问次数记录,权限控制判断)或者在之后进行调用后处理(日志 阅读全文
posted @ 2018-12-02 20:48 runningRookie 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式概述 有一个抽象类(接口),负责抽象出某个产品线(类),每多出一个产品,则继承该产品线(类或实现接口),创建一个新的类,由此每次多出一个产品的时候,无需操作原有类的内容,只需要新建一个类继承原产品线(实现接口)即可。 以下我们仍然以一个简单的计算器作为例子 定义每个运算逻辑 工厂类 总结 阅读全文
posted @ 2018-10-21 16:34 runningRookie 阅读(95) 评论(0) 推荐(0) 编辑