摘要: 一、什么是Flyweight模式 Flyweight,是轻量级的意思,Flyweight模式旨在使得类的创建、使用变得简便。如何实现呢?在一般的编程里面,想要使用一个对象,会通过new的方式创建,那么每一个地方需要使用该对象,就要new一次,在计算机内存中则需要每次都要分配内存空间出来,当使用new 阅读全文
posted @ 2019-02-18 17:00 KamShing 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Composite模式? Composite模式,可以借助计算机文件夹的例子去理解,一个文件夹里面可以存放文件,也可以存放子文件夹,这样子形成一种结构,这个“文件夹”就类似于一个容器,而且还是一种具有递归结构的容器。我们可以用Composite模式创造出这样的结构,使得容器和内容具有一致性 阅读全文
posted @ 2019-02-18 16:50 KamShing 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Strategy模式? Strategy,意思是“策略”的意思。使用Strategy模式设计的代码,就自带一种逻辑判断在里面,可以整体的替换算法的实现部分,或者说跟机器学习有相似之处。 二、Strategy模式思想 Context类:里面定义了Strategy类型属性,负责使用Strate 阅读全文
posted @ 2019-02-18 14:29 KamShing 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Bridge模式? 讲述之前,先介绍两个关于类层次的重要概念:类的功能层次结构和类的实现层次结构。 1、类的功能层次结构 假如现在有一个父类ClassFarther,它具有一些基本功能,现在希望在业务上新增新的功能时,可以通过编写一个子类ClassSon去继承父类ClassFarther, 阅读全文
posted @ 2019-02-18 13:23 KamShing 阅读(188) 评论(0) 推荐(0) 编辑
摘要: Redis被称为是内存数据库,那是因为它会将其所有数据存储在内存里,因此Redis具有强劲的速度性能,但是,也正因为数据存储在内存中,当Redis重启后,所有存储在内存的数据就会丢失。为了使得数据持久化,Redis提供了两种方式:RDB方式和AOF方式。 一、RDB方式 RDB方式的持久化是通过快照 阅读全文
posted @ 2019-02-18 11:38 KamShing 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 上一篇提及到使用任务队列来实现进程间的消息传递(https://www.cnblogs.com/SysoCjs/p/10332778.html或者https://blog.csdn.net/weixin_39400271/article/details/86670850),Redis还提供了一组命令 阅读全文
posted @ 2019-01-29 10:13 KamShing 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 很多博客网站中都会有发送邮件这个功能,发送邮件是一个双向数据的交互过程,如果使用单线程实现,很难避免会等待很长时间的情况出现,但碍于某些框架或语言不容易实现多线程,这时可以通过进程来实现。设想一个进程能够完成发邮件的功能,那么只要通知这个进程向指定的地址发送邮件就可以了。 通知的过程可以借助任务队列 阅读全文
posted @ 2019-01-29 10:05 KamShing 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Builder模式? builder模式,就好比一栋大楼,这栋大楼有很多个组件组成,但是这栋大楼只是一个各个组件结合起来的框架,每一栋大楼都有各自的特色,这些特色由它们实际情况决定。对于程序而言,这栋大楼就好比一个Builder抽象类,里面定义了很多组件方法,一个完整的功能离不开里面的每一 阅读全文
posted @ 2019-01-27 16:27 KamShing 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Prototype模式? 在编程中,我们可以使用new关键字指定类名来生成类的实例,但是有时候也会有不指定类名的前提下生成实例。因为有时候对象种类繁多,无法将它们整合到一个类中;或者,生成实例的过程过于复杂,难以根据类生成实例;又或者,想要将类与框架解耦。这时,为了能够在不使用类名的情况下 阅读全文
posted @ 2019-01-27 16:22 KamShing 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 一、什么是Singleton模式? Singleton模式就是平常所说的单例模式,简单来说就只有一个实例。在使用java.lang.String的时候,将不同的字符串赋给String引用,其实就是创建了一个String对象实例,当有1000个不同的字符串创建的时候,就会出现1000个实例。有时候,我 阅读全文
posted @ 2019-01-27 16:17 KamShing 阅读(287) 评论(0) 推荐(0) 编辑