浅析设计模式第九章之原型模式
原型模式说白了就是对象的克隆,我们经常说为深拷贝、深克隆、浅拷贝、浅克隆等。原型模式也是属于六个创建型模式之一,其余五个: 简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 这里需要注意的是,原型模式所涉及的就是对象的拷贝,在...
原型模式说白了就是对象的克隆,我们经常说为深拷贝、深克隆、浅拷贝、浅克隆等。原型模式也是属于六个创建型模式之一,其余五个: 简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 建造者模式 这里需要注意的是,原型模式所涉及的就是对象的拷贝,在...
之前已经讲过「简单工厂」,所以按照进阶,我们再来看一下工厂方法模式是如何在简单工厂模式的基础之上对其进行改善和丰富的。其实工厂方法模式本质是设计了抽象工厂的角色,来满足对于「开放-封闭原则」的要求。工厂方法模式属于六个创建型模式之一,其余五...
想必搞 Java 的对这个代理模式至少不会很陌生,只要接触过 Spring AOP 相关的业务或者知识点都应该知道在 Spring 中 AOP 通过 CGLIB 和 JDK 动态代理实现切面编程的。在设计模式中,代理模式有着丰富的使用场景和...
修饰模式理解起来还是相对比较简单的,就增加功能来讲,装饰模式可以比设计为子类的方式更为灵活,能让对象专注于自己核心职责,其余的事情交给修饰类来负责。 装饰模式属于七个结构型模式之一,其余六个是: 适配器模式 – Adapter ...
其实简单工厂模式严格意义上来讲不属于常说的 GoF 23 种设计模式之一,不过可能用的比较多,又经常被拿来跟「工厂方法模式」、「抽象工厂模式」拿来对比,所以属于基础要求,必须掌握的。他们都属于类创建型设计模式,从模式命名模式上来简略分析,其...
一、hashCode 相等两个类一定相等吗?equals 呢? 在设计之初,hashCode 与 equals 就是相辅相成的,单独拿出一个方法对对象相等的讨论都是耍流氓。 hashCode 和 equals 这两个方法协同工作用来判断两个...
锁的概述 数据库中的锁 不同于 Java 中多线程中的锁,数据库中的锁多半是针对于数据并发访问的一致性、有效性等,所以锁冲突是影响数据库并发访问性能的重要因素。MySQL 的 InnoDB 存储引擎涉及到各种「锁」的概念比较多,在笔面试中、...
MyBatis 的 $ 与 # 的区别?各自的使用场景? 这个问题都快被问烂了,不过这题考查的就是你有没有真正的使用过 MyBatis,所以还是值得拿出来说一下。 #{} 井号多半是用来对参数进行处理。相当于 JDBC 的 Prepared...
程序员的誓言 我不会产生有害的代码。 我制作的代码永远是我最好的作品。我不会故意允许在行为或结构上有缺陷的代码。 每次发布时,我都会生成一个快速、可靠、可重复的证据,证明代码的每个元素都应该正常工作。 我将经常发布小版本,这样我就不会妨碍其...
一、Java 如果没有泛型会有什么灾难? 泛型其实玩的是「约束」,咱们程序界有一种说法叫做「约定大于配置」,其实老四觉得这个说法也同样适用于泛型的设计。我们都知道泛型最开始是给集合设计的,目的就是让集合记住自己存储了什么,约定其只存储某种特...