设计模式
文章平均质量分 81
大话设计模式
wy471x
自信,勇敢,有担当!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
23种经典设计模式之代理模式
23种经典设计模式之代理模式 代理模式是什么? 首先我们来看一下代理模式中有哪些角色,我们开看下这张简单的图 可以看到,在代理模式中主要有客户端、代理类、目标类这3个角色,它们的含义如下: 客户端:就是用来发起调用请求的,没啥好说的 目标类:特定行为的实现类,真正“干活”的角色 代理类:对外代理目标类所有的功能,在目标类功能的基础上会做一些额外的工作,通过在代理类内部持有目标对象引用实现 那么代理模式是怎么来玩的呢? 其实很简单,就和上边那张图一样,开始的时候客户端会来调用代理类的方法,由于在代理类内原创 2022-04-27 23:17:20 · 1243 阅读 · 0 评论 -
23种经典设计模式之建造者模式
建造者模式 为什么需要建造者模式? 在平时的开发中,创建一个对象最常用的方式是,使用 new 关键字调用类的构造函数来完成。我的问题是,什么情况下这种方式就不适用了,就需要采用建造者模式来创建对象呢?你可以先思考一下,下面我通过一个例子来带你看一下。假设有这样一道设计面试题:我们需要定义一个资源池配置类 ResourcePoolConfig。这里的资源池,你可以简单理解为线程池、连接池、对象池等。在这个资源池配置类中,有以下几个成员变量,也就是可配置项。现在,请你编写代码实现这个 ResourcePoolC原创 2022-03-15 16:45:46 · 271 阅读 · 0 评论 -
23种经典设计模式之工厂模式
工厂模式 一般情况下,工厂模式可细分为:简单工厂、工厂方法、抽象工厂 简单工厂 场景1:解析不同后缀的配置 根据配置文件的后缀(json、xml、yaml、properties),选择不同的解析器(JsonRuleConfigParser、XmlRuleConfigParser……),将存储在文件中的配置解析成内存对象 RuleConfig。 public class RuleConfigSource { public RuleConfig load(String ruleConfigFilePath)原创 2022-03-15 14:55:07 · 165 阅读 · 0 评论 -
23种经典设计模式之单例模式
单例模式 为什么要使用单例? 单例设计模式:一个类只允许创建一个对象(或者实例) 对象实例需求为唯一性 如何实现一个单例? 实现单例需要关注点: 构造函数私有化,这样才能防止外部通过new进行实例化 考虑对象创建时的线程安全问题 考虑是否支持延迟加载 考虑 getInstance() 性能是否高(是否加锁) 实现方式 1. 饿汉式 public class Singleton { private static final Singleton instance = new Singleton();原创 2022-03-15 13:39:57 · 438 阅读 · 0 评论 -
快速改善代码质量的20条编程规范
快速改善代码质量的20条编程规范 主要分为三大块: 命名和注释 (Naming and Comments) 命名(Naming) 命名多长最合适? 命名长度有两种极端:1. 单词全名命名法 2. 熟知单词缩写命名法 优点:更加准确直观达意 缺点:在代码长度有限制的情况下,就会经常出现一条语句被分割成两行的情况,这其实会影响代码可读性 优点:简洁明了 缺点:不够达意 对于作用域比较小的,推荐使用相对短的命名,比如一些函数内的临时变量。 对于像类名这种作用域比较大的,推荐使用长的命名方式。 命原创 2022-03-01 10:39:56 · 424 阅读 · 0 评论
分享