
初探设计模式
文章平均质量分 96
阿亮_1024
一生所梦,过上优雅从容的中产阶级生活
展开
-
java设计模式之责任链模式,观摩mybatis二级缓存设计思路
前言软件设计模式,其实就是指在某种场景下,一套符合要求、具有良好拓展性的代码设计。接口、类之间怎样组合、怎样关联,使得代码即满足需求,又耦合性低。当然了,由于具体的场景不尽相同,所以各种设计模式也只是一个提供一个思路、概要,具体细节需要根据具体的场景变通。java语言,由于其悠久的历史和庞大良好的生态,使用人数众多,前人总结出了23中设计模式。这23中设计模式可分为3中类型:创建型:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式结构性:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享原创 2021-12-17 14:35:57 · 1070 阅读 · 4 评论 -
java设计模式之代理模式(上)——基于接口的动态代理(JDK中的Proxy)
简介代理模式就类似于生活中的各种中介、代理商,在生活中非常常见。先不说代理模式,我们先从中介说起,中介起到了好处呢?比如说,租房中介,如果没有租房中介,那么租客租房都只能直接去练习房东,虽然说可能是要便宜一点,但是租客花了很大一部分时间和精力去和一个房东联系、沟通,很大可能最终只能看一套房(此处不考虑有很多套房土豪房东),而且很有可能房客对这一套房不满意。那么中介的好处是什么呢,有了中介,房客就不用直接和房东联系,而是和中介联系,中介手上有很多房源,房客可以任意的挑选,挑选合适的。而且中介还可以对房东的房原创 2020-12-10 11:40:23 · 305 阅读 · 2 评论 -
java设计模式之——简单工厂
简单介绍我们在写的程序,难免遇到需要新增功能的时候,但是新增功能,不能在原本的代码上进行修改,因为在原本的代码上修改,因为修改已经完备的代码可能会导致以前正常的功能变得不可用。最好的办法是:在新增的功能就重写写代码,原本的代码不懂,然后将新实现的功能与原本的代码进行合并,使新功能可用,而又不修过原本的代码。这就是我们经常说的,对扩展开放,对修改关闭。如果此时用简单工厂模式,就可以很好的解决这个问题。例子例如,我们要实现一个计算器,我的第一想法可能就是写在一个方法里,搜集输入数据、运算逻辑、展示输出(原创 2020-12-07 15:20:18 · 374 阅读 · 0 评论 -
java设计模式之——单例模式(八种实现)
一、介绍有时,我们需要某个类的实例始终只有一个,举个例子,如果用面向对象语言写的操作系统,那么桌面这个实例肯定就只有一个,无论从哪个地方进入的桌面,都是同一个。所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个Sess原创 2020-12-07 11:11:08 · 161 阅读 · 0 评论 -
单例模式----懒汉式在多线程下存在线程安全问题
设计模式设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。设计模式是一种针对特定问题的解决方案,所以应该是很多的。在面向对象的语言中,主流、常用的有23种设计模式。单例模式在面向对象的语言中,一个类,可以创建多个对象。但是,在有的场景下,只能要求有一个该类的对象,不能创建多个(比如连接池),在这种情况下,就会用到单例模式。单例模式的一般思想就是:在本类中,定义原创 2020-07-20 12:57:46 · 1151 阅读 · 0 评论