![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
goodluckwj
努力就会有回报
展开
-
JDK动态代理为什么需要接口?
回答这个问题之前需要首先由JDK动态代理的基础,可以查看大佬写的这篇文章:Java JDK 动态代理(AOP)使用及实现原理分析,然后再来深入思考这个问题。 还有一点,需要特别注意的是,当我们在介绍静态代理的时候,都知道需要被代理的类和代理的类都需要实现同一个接口,这样才能完成静态代理,关于静态代理的内容上面的那篇博客也介绍了,这里只是提一下这个点。 关于JDK动态代理准确的说是对接口进行的代理,创建一个该接口的子类,这个重点突出的是这个接口,而不是某个类需要...原创 2020-08-30 21:54:07 · 1429 阅读 · 0 评论 -
模板方法模式:结合JDK源码深入理解(TemplateMethod)
1.模板方法模式的概念 介绍: 模板方法模式是编程中经常用得到模式。它定义了ー个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变个算法结构的前提下重新定义该算法的某些特定步骤(这是一种设计思路,一定要细细品味)。 核心: 处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定。因此,我们采用工厂方法模式...原创 2020-01-17 19:25:44 · 490 阅读 · 0 评论 -
设计模式的六大原则
总原则:开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。1、单一职责原则 不要存在多于一个导...原创 2018-09-15 23:48:00 · 163 阅读 · 0 评论 -
单例模式 【五种方式实现】
单例模式核心在于为整个系统只提供一个的实例,并提供一个全局访问点。 分为饿汉式和懒汉式,前者天生就是线程安全的,后者则需要考虑线程安全性,常见的线程安全的懒汉式单例的实现有内部类式和双重检查式两种。 1、饿汉式: 在类加载初始化时,就已经创建好了对象,没有延迟加载,线程安全,如果程序不访问就造成了资源浪费 思路: 1.构造器...原创 2018-09-16 00:04:13 · 211 阅读 · 0 评论 -
三种工厂模式总述
工厂模式实现了创建者和调用者的分离。 – 详细分类: 1.简单工厂模式 2.工厂方法模式 3.抽象工厂模式 工厂模式的核心本质: – 实例化对象,用工厂方法代替new操作。 – 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。 工厂模式: – 简单工厂模式 :用来生产同一...原创 2018-09-16 12:35:25 · 516 阅读 · 0 评论 -
装饰者模式
引言: 咖啡店里咖啡中可以加不同的配料–摩卡、牛奶、糖、奶泡;不同的饮品加上不同的配料有不同的价钱,怎样实现呢? 可能你的第一印象会想到使用继承, 首先定义一个咖啡基类 对于加糖的,加牛奶的,加摩卡的 ,加奶泡的,分别写一个子类继承 对于加糖,又加奶的写一个类,对于对于加糖,又摩卡的写一个类,对于对于加糖、又奶泡的写一个类,对于加糖,又加奶、摩卡的...原创 2018-09-16 16:19:41 · 148 阅读 · 0 评论 -
适配器模式
什么是适配器模式? – 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。生活中的场景 模式中的角色 – 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。 – 需要适配的类(Adaptee):需要适配的类或适配者类。 – 适配器(Adap...原创 2018-09-16 22:56:47 · 161 阅读 · 0 评论