![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 77
小郭的学习日记
这个作者很懒,什么都没留下…
展开
-
享元设计模式
享元”就是被共享的单元。享元模式的使用意图就是复用对象,节省内存,应用的前提是被共享的对象是不可变对象。具体来说,就是当一个系统中存在大量的重复对象时,如果这些重复的对象时不可变对象,我们就可以利用享元模式,将对象设计成享元,在内存中只保留一份实例,供多处代码引用。这样就可以减少内存中对象的数量,起到节省内存的目的。实际上我们还能抽取相似对象,我们也可以将这些对象中相同的部分提取出来设计成享元,让这些相似的对象去引用享元。原创 2023-08-14 16:00:46 · 66 阅读 · 0 评论 -
组合设计模式
组合模式和面向对象中“组合关系”完全是两码事,这里的组合模式主要用于处理结构为树形的数据。对于组合模式其应用场景比较特殊,这种模式在实际的项目开发中并不常见。但是一旦数据呈现出树形结构,这种模式就能发挥出很大的作用,可以让代码变得简洁。原创 2023-08-13 10:42:03 · 62 阅读 · 0 评论 -
适配器设计模式
对于适配器模式,主要有两种实现方式:类适配器和对象适配器。适配器设计模式的一个重要的用途就是解决代码的不兼容问题。原创 2023-08-12 14:00:35 · 64 阅读 · 0 评论 -
代理设计模式
在实际的开发中,我们经常使用代理模式。在这主要讲述代理模式的两种实现方式:基于接口的实现方式和基于继承的实现方式以及动态代理。原创 2023-08-10 22:39:18 · 53 阅读 · 0 评论 -
设计模式之建造者模式---Builder Pattern
建造者模式也称为构建者模式或者生成器模式。在看这篇文章之前可以思考思考两个问题:直接使用构造函数或者配合setter方法就能创建对象,为什么还需要使用建造者模式呢?构建者模式和工厂模式都可以创建对象,他们又会有什么区别呢?在看完这篇文章你想必就会有答案了。在平时的开发中,创建一个对象的常用方式就是使用new关键字调用类的构造函数来完成,假设有这样一道代码设计方面的面试题:编写代码实现一个资源配置类ResourcePoolConfig,这里的资源配置池可以简单地被理解为线程池、连接池和对象池等。原创 2023-08-08 22:01:27 · 35 阅读 · 0 评论 -
设计模式之工厂设计模式---Factory Pattern
在简单工厂模式和工厂方法模式中,类只有一种分类方式。比如在我们上面提到的例子中,解析器只会根据配置文件的格式(JSON,XML,YAML等)来分类。但是,如果解析器有两种分类方式,既可以按照配置文件格式来分类,又可以按照解析的对象(规则配置或者系统配置)来分类,那么通过组合,就会得到8中解析器类。(1)针对规则配置的解析器(基于接口IRuleConfigParser的实现类)(2)针对系统配置的解析器(基于接口ISystemConfigParser的实现类)原创 2023-08-07 11:54:31 · 36 阅读 · 0 评论 -
设计模式之单例设计模式---Singleton Design Pattern
如果一个类只允许创建一个对象(实例),那么,这个类就是一个单例类,这种设计模式就是单例设计模式(Singleton Design Pattern)。从业务概念方面来讲,如果某个类包含的数据在系统中就保存一份,那么这个类应该被设计为单例类。例如配置信息类,在系统中,只因该有一个配置文件,当配置文件被加载到内存之后,以对象的形式存在,也理应只有一份。又例如唯一递增的ID生成器类,如果系统中存在两个ID生成器对象,那么有可能生成重复ID。原创 2023-08-05 19:02:28 · 78 阅读 · 0 评论