
设计模式
文章平均质量分 57
浅学23种设计模式
赤丶
fosun
展开
-
动态代理--java
NewProxyInstance中需要传入三个参数,分别是类加载器,所有的接口,以及拦截器,由于我们是实现的InvocationHandler,所以这个类的本身就相当于一个拦截器,直接传入this本身即可。和jdk代理类似,唯一区别是由于我们的cglib是通过生成目标类的子类来实现的,所以我们在转换时,要注意是转换成我们的代理类,而不是代理类的接口。动态代理就是在程序运行期间,创建目标对象的代理对象,并对目标对象中的方法进行功能性的增强的一种技术,有两种实现方式。3,定义构造方法,入参为需要代理的对象。原创 2023-01-31 01:12:19 · 370 阅读 · 1 评论 -
适配器模式
一,模式定义: 将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式 二,适配器模式的角色包括: (1)Target(目标抽象类) 目标抽象类定义客户要用的特定领域的接口,可以是个抽象类或接口,也可以是具体类;在类适配器中,由于Java不允许多继承,它只能是接口。 (2)Adapter(适配器类) 适配器类可以调用另一个接口,作为一个转换器,对Adapter和Target进行适配。适配器Ada原创 2022-05-11 18:44:35 · 143 阅读 · 0 评论 -
原型模式。
类型:创建型模式 定义:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无须知道任何创建细节。 类图: Prototype(抽象原型类): 抽象原型类是定义具有克隆自己的方法的接口,是所有具体原型类的公共父类,可以是抽象类,也可以是接口。 ConcretePrototype(具体原型类):具体原型类实现具体的克隆方法,在克隆方法中返回自己的一个克隆对象。 Client(客户类):客户类让一个原型克隆自身,从而创建一个新的对象,在客原创 2022-05-11 00:32:52 · 167 阅读 · 0 评论 -
java工厂模式
首先我们要了解软件设计模式的六大原则: 一:开闭原则 开闭原则的大概意思就是对待修改代码为闭,对待增加实体类为开。 二:单一职责原则: 即一个类只负责一种责任(功能)。 三:里氏替换原则: 即一个子类能够替换父类且能够出现在父类出现过的地方。 四:依赖倒置原则: 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 五:接口隔离原则: 类不应该依赖于他们不需要的接口 六:迪米特法则: 一个软件实体应该尽可能少的与其他软件实体发生相互作用,这样子,当原创 2021-10-01 23:32:32 · 91 阅读 · 0 评论 -
建造者模式
建造者模式的定义: 它是将一个复杂的对象的构建与它的表示进行分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不必知道内部的具体构建细节。它属于创建型模式。 模式结构: 这里我们实例化一个人类来举例。 1 product 这是我们的产品角色,即我们的复杂对象,我们建造者模式就是为了将其简单化。它一般都包含了多个组成元素。(我们先定义好人所具备的组件) 2 Builder 我们的抽...原创 2021-10-12 00:20:34 · 93 阅读 · 0 评论 -
单例模式。
单例模式,饿汉式,懒汉式原创 2022-05-09 00:45:42 · 113 阅读 · 0 评论