自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 第五章 单例模式(多方面解析)

1、单例模式的介绍定义:保证一个类只有一个实例,并提供一个全局访问点。类型:创建型。优点:在内存中只有一个实例,减少了内存开销(尤其是创建和销毁比较麻烦的时候)可以避免对资源的多重占用设置全局访问点,严格限制访问缺点:没有接口,扩展困难重点:私有构造器线程安全(非常重要)延迟加载序列化和反序列化安全(破坏单例模式)反射(防止反射攻击)对比:单例模式–工厂模式...

2019-11-22 11:15:47 281

原创 企业级Gitee

企业级Gitee

2022-06-13 15:16:00 131 1

原创 tip:阅读源码小技巧

重点:抓大放小,看源码的整体架构、核心流程、复杂机制,不要在细节上扣太多。先在整体架构上做把握,想详细了解再深入到具体细节。

2020-08-08 20:37:25 216

原创 策略模式2:替换掉狗屎一样的if else 语句

2020-08-07 16:06:01 298

原创 集群环境下,定时任务的简单实现

项目中新增的一个功能是定时解绑未登录超过30天的用户。由于生产环境下是4台服务器,为防止集群服务器定时任务多次执行和提高执行成功率,设计如下功能的实现。一、设计思路和实现方案:  思路:数据库新建一张表,以当天日期(yyyyMMdd)作为主键。定时任务入口会新增到此表一条数据,新增成功,则执行接下来的定时任务;若新增失败被catch到异常,则return,不执行接下来的定时任务。定时任务主...

2020-03-12 17:00:11 1156 1

原创 关联账号登录验证绑定设计

文章在保证设计思路的情况下,已隐去了原有的项目名称,把项目名称和数据库字段也使用了别名代替。如有类似关联账户需求设计,可参考本篇设计,实现自己的需求即可。###一、背景备注:以下 对私的客户端(个人业务)和微信公众号合并简称为 对私的客户端。背景介绍:项目有个对私的客户端,对私的客户端主要开展个人的等业务;在系统的应用中嵌入了一些其它应用,如对公业务(对公业务可理解为公司级别的业务)。前...

2020-03-12 16:56:07 2099

原创 第二十四章 状态模式

一、 状态模式介绍 二、代码演示三、jdk中使用 状态模式的地方一、 状态模式介绍二、代码演示三、jdk中使用 状态模式的地方

2019-12-03 09:43:10 144

原创 第二十三章 访问者模式

一、访问者模式介绍 二、代码演示三、jdk中使用访问者模式的地方一、 访问者模式介绍二、代码演示三、jdk中使用访问者模式的地方

2019-12-01 22:31:14 111

原创 第二十二章 责任链(职责链)模式

一、迭代器模式介绍二、代码演示三、jdk中使用迭代器 模式的地方一、 迭代器模式介绍二、代码演示三、jdk中使用 迭代器模式的地方器模式

2019-12-01 21:02:40 137

原创 第二十一章 中介者模式

快速导航一、中介者模式介绍二、代码演示三、jdk中使用中介者模式的地方一、 中介者模式介绍二、代码演示三、jdk中使用中介者模式的地方

2019-12-01 19:57:56 147

原创 第二十章 命令模式

快速导航一、命令模式介绍二、代码演示三、jdk中使用命令模式的地方一、 命令模式介绍二、代码演示三、jdk中使用命令模式的地方

2019-12-01 17:54:52 117

原创 第十九章 备忘录模式

快速导航一、备忘录模式介绍二、代码演示三、jdk中使用备忘录模式的地方一、 备忘录模式介绍二、代码演示三、jdk中使用备忘录模式的地方

2019-12-01 17:05:27 180

原创 第十八章 观察者模式

快速导航一、观察者模式介绍二、代码演示三、jdk中使用观察者模式的地方一、 观察者模式介绍二、代码演示三、jdk中使用观察者模式的地方

2019-12-01 16:44:47 121

原创 第十七章 解释器模式

快速导航一、解释器模式介绍二、代码演示三、jdk中使用解释器模式的地方一、 解释器模式介绍二、代码演示三、jdk中使用解释器模式的地方

2019-12-01 15:30:41 128

原创 第十六章 策略模式

快速导航一、策略模式介绍二、代码演示三、jdk中使用 策略模式的地方一、 策略模式介绍二、代码演示三、jdk中使用 策略模式的地方

2019-12-01 14:20:35 170 1

原创 第十五章 迭代器模式--看了总结不明白你打我

快速导航一、迭代器模式介绍二、代码演示三、jdk中使用迭代器 模式的地方一、 迭代器模式介绍定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示。类型:行为型适用场景:访问一个集合对象的内容而无需暴露它的内部表示为遍历不同的集合结构提供一个统一的接口优点:分离了集合对象的遍历行为缺点:类的个数成对增加相关设计模式:迭代器模式和访问者模式...

2019-11-30 20:47:55 207

原创 第十四章 模板方法模式

快速导航一、模板方法模式介绍二、代码演示三、jdk中使用模板方法模式的地方一、模板方法模式介绍

2019-11-30 17:19:40 147

原创 第十三章 代理模式

快速导航一、代理模式介绍二、代码演示三、jdk中使用代理模式的地方一、代理模式介绍定义:为其他对象提供一种代理,以控制对这个对象的访问代理对象在客户端和目标对象之间起到中介作用适用场景:保护目标对象增强目标对象优点:代理模式能将代理对象与真实被调用的目标对象分离一定程度上降低了系统的耦合度,扩展性好保护目标对象增强目标对象缺点:造成系统设计中类数量的增加在客户端...

2019-11-30 16:26:27 196

原创 第十二章 桥接模式

快速导航一、桥接模式介绍二、代码演示三、jdk中使用桥接模式的地方一、桥接模式介绍定义: 将抽象部分与它的具体实现部分分离,使它们都可以独立的变化通过组合的方式建立两个类之间的联系,而不是继承类型:结构型适用场景:抽象和具体实现之间增加更多的灵活性一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展不希望使用继承,或因为多层继承导致系统类的个数剧...

2019-11-30 13:31:20 132

原创 第十一章 组合模式

快速导航一、介绍二、代码演示三、jdk中使用的方法

2019-11-30 10:43:47 134

原创 第十章 享元模式

快速导航一、享元模式简介二、代码展示三、jdk中使用享元模式的地方一、享元模式简介

2019-11-28 22:41:46 114

原创 第九章 适配器模式--用易懂的方式解释(总结)一下

快速导航一、适配器模式简介二、代码展示三、jdk中使用适配器模式的地方一、适配器模式简介**定义:**将一个类的接口转换成客户期望的另一个接口使原本接口不兼容的类可以一起工作**类型:**结构型适用场景:1、已经存在的类,它的方法和需求不匹配时(方法结果相同或相似)2、不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品,不同厂家造成功能类似而接口不相同的情况下的解决...

2019-11-27 11:13:58 202

原创 第八章 装饰者模式

快速导航一、装饰者模式简介二、代码展示一、装饰者模式简介定义: 在不改变原有对象的基础上,将功能附加到对象上提供了比继承更有弹性的替代方案(扩展原有对象功能)类型: 结构型适用场景:扩展一个类的功能或给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销优点:继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能通过使用不同装饰类以及这些装...

2019-11-24 20:42:54 145

原创 第七章 外观模式(也叫 门面模式)

快速导航一、外观模式简介二、代码展示三、jdk中使用的外观模式一、外观模式简介定义: 外观模式又叫门面模式,提供了一个统一的接口,用来访问子系统中一群接口。外观模式定义了一个高层接口,让子系统更容易使用类型: 结构型适用场景:1、子系统越来越复杂,增加外观模式提供简单接口调用2、构建多层系统结构,利用外观对象作为每层的入口,简化层间调用优点:1、简化了调用过程,无需深入...

2019-11-24 18:21:00 242

原创 第六章 原型模式(克隆)

快速导航一、代码示例(浅克隆、深克隆)二、克隆方式破坏单例模式三、jdk中使用原型模式原型模式介绍定义:原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。不需要知道任何创建的细节,不调用构造函数。类型:创建型适用场景:类初始化消耗较多资源new 产生的一个对象需要非常繁琐的过程(数据准备、访问权限)构造函数比较复杂循环体中生产大量对象时优点:简化创建过程性能...

2019-11-24 16:27:41 199

原创 第四章 设计模式--建造者模式

建造者模式简介1、定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。用户只需指定需要建造的类型就可以得到它们,建造过程不需要了解。类型:创建型。适用市场:1、一个对象有非常复杂的内部结构2、想把复杂对象的创建和使用分离优点:封装性好,创建和使用分离扩展型好、建造类之间独立、一定程度上解耦。缺点:会产生多余的Builder 对象产品内部发生变化,...

2019-11-24 10:50:25 183

原创 第三章 设计模式--工厂模式 之抽象工厂模式

抽象工厂模式定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口。适用场景:1、客户端不依赖与产品类实例如何被创建、实现等细节2、强调一系列相关产品对象(属于同一产品族),一起适用创建对象需要大量重复代码。3、提供一个产品类的库,所有产品以同样的接口出现,从而使客户端不依赖于具体实现。优点:1、代码隔离,我虚关心具体实现细节。2、将一系列的产品族统一到一起创建。缺点:1...

2019-11-18 14:38:52 226

原创 第二章 设计模式--工厂模式 之工厂方法模式

工厂模式分为工厂方法模式和抽象工厂模式;工厂模式是解决产品等级的问题;抽象工厂是解决产品族的问题。现在我们先来说一下工厂模式:工厂方法:定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。适用场景:1.创建对象需要大量重复的代码2.客户端不依赖与产品类实例如何被创建、实现等细节3.一个类通过其子类来指定创建哪个对象利用面...

2019-11-17 19:38:54 215

原创 第一章 设计模式介绍及简单工厂模式

希望这是一个好习惯的开始。如何设计出优雅、简洁、可扩展的编程风格,是每个程序员都需要认真对待的事情,借助常用的设计模式的综合使用及取舍,可帮助我们在编写代码时,深入理解面向对象的设计思想,使用设计模式的机制,设计出简单易复用的模式和结构,从而提高开发效率,节约开发成本。coding不止是一门技术,也是一门艺术。设计模式原则: 使用设计模式时,我们常遵循5大原则,当然有的地方也说是...

2019-11-17 15:56:45 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除