浅析设计模式第十三章之建造者模式
建造者模式说白了就是将类的实例化一个个的封装了起来,里面的属性创建相对复杂,所以帮你直接封装好,从而将对象的创建于表示分离出来,对于客户端,可以直接申请自己想要的具体的对象实例,对于对象的创建,可以通关依赖倒转来进行很好的维护,而不需要客户...
建造者模式说白了就是将类的实例化一个个的封装了起来,里面的属性创建相对复杂,所以帮你直接封装好,从而将对象的创建于表示分离出来,对于客户端,可以直接申请自己想要的具体的对象实例,对于对象的创建,可以通关依赖倒转来进行很好的维护,而不需要客户...
原型模式说白了就是对象的克隆,我们经常说为深拷贝、深克隆、浅拷贝、浅克隆等。原型模式也是属于六个创建型模式之一,其余五个: 简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 这里需要注意的是,原型模式所涉及的就是对象的拷贝,在...
之前已经讲过「简单工厂」,所以按照进阶,我们再来看一下工厂方法模式是如何在简单工厂模式的基础之上对其进行改善和丰富的。其实工厂方法模式本质是设计了抽象工厂的角色,来满足对于「开放-封闭原则」的要求。工厂方法模式属于六个创建型模式之一,其余五...
想必搞 Java 的对这个代理模式至少不会很陌生,只要接触过 Spring AOP 相关的业务或者知识点都应该知道在 Spring 中 AOP 通过 CGLIB 和 JDK 动态代理实现切面编程的。在设计模式中,代理模式有着丰富的使用场景和...
修饰模式理解起来还是相对比较简单的,就增加功能来讲,装饰模式可以比设计为子类的方式更为灵活,能让对象专注于自己核心职责,其余的事情交给修饰类来负责。 装饰模式属于七个结构型模式之一,其余六个是: 适配器模式 – Adapter ...
其实简单工厂模式严格意义上来讲不属于常说的 GoF 23 种设计模式之一,不过可能用的比较多,又经常被拿来跟「工厂方法模式」、「抽象工厂模式」拿来对比,所以属于基础要求,必须掌握的。他们都属于类创建型设计模式,从模式命名模式上来简略分析,其...
一、hashCode 相等两个类一定相等吗?equals 呢? 在设计之初,hashCode 与 equals 就是相辅相成的,单独拿出一个方法对对象相等的讨论都是耍流氓。 hashCode 和 equals 这两个方法协同工作用来判断两个...
锁的概述 数据库中的锁 不同于 Java 中多线程中的锁,数据库中的锁多半是针对于数据并发访问的一致性、有效性等,所以锁冲突是影响数据库并发访问性能的重要因素。MySQL 的 InnoDB 存储引擎涉及到各种「锁」的概念比较多,在笔面试中、...
MyBatis 的 $ 与 # 的区别?各自的使用场景? 这个问题都快被问烂了,不过这题考查的就是你有没有真正的使用过 MyBatis,所以还是值得拿出来说一下。 #{} 井号多半是用来对参数进行处理。相当于 JDBC 的 Prepared...
本文主要来自于孤尽老师的《码出高效》和方腾飞老师等《Java 并发编程的艺术》两本书中关于线程池的笔记总结,侵删。 一、进程、线程、线程池的定义 进程 定义 进程是程序的一次执行,是一个程序及其数据处理在处理机上顺序执行时所发生的活动,是具...