1 沉晓

尚未进行身份认证

垂下的头颅只是为了让思想扬起,你若有一个不屈的灵魂,脚下就会有一片坚实的土地。

等级
TA的排名 2k+

【Java设计模式】责任链模式

文章目录概述适用场景优点缺点责任链模式-相关设计模式演示概述◆为请求创建一个接收此次请求对象的链◆类型:行为型适用场景◆一个请求的处理需要多个对象当中的一个或几个协作处理优点◆请求的发送者和接收者(请求的处理)解耦◆责任链可以动态组合缺点◆责任链太长或者处理时间过长,影响性能◆责任链有可能过多责任链模式-相关设计模式◆责任链模式和状态模式演示课程类p...

2019-07-12 09:37:00

【Java设计模式】命令模式

✍在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,`使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。类似于我们通过开关打开电灯命令模式可以对发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何...

2019-10-21 16:22:58

【Java设计模式】迭代器模式

✍一个聚合对象,如一个列表(List)或者一个集合(Set),应该提供一种方法来让别人可以访问它的元素,而又不需要暴露它的内部结构。针对不同的需要,可能还要以不同的方式遍历整个聚合对象,但是我们并不希望在聚合对象的抽象层接口中充斥着各种不同遍历的操作。怎样遍历一个聚合对象,又不需要了解聚合对象的内部结构,还能够提供多种不同的遍历方式,这就是迭代器模式所要解决的问题。在迭代器模式中,提供一...

2019-10-21 17:00:48

【Java设计模式】中介者模式

✍在面向对象的软件设计与开发过程中,根据“单一职责原则”,我们应该尽量将对象细化,使其只负责或呈现单一的职责。对于一个模块,可能由很多对象构成,而且这些对象之间可能存在相互的引用,为了减少对象两两之间复杂的引用关系,使之成为一个松耦合的系统,我们需要使用中介者模式,这就是中介者模式的模式动机。中介者模式(Mediatorpattern)定义:用一个中介对象来封装一系列的对象交互,中介者...

2019-10-21 17:32:30

【Java设计模式】代理模式

文章目录概述适用场景优点缺点拓展Spring代理选择-扩展代理速度对比-扩展代理-相关设计模式演示静态代理概述◆定义:为其他对象提供一种代理,以控制对这个对象的访问◆代理对象在客户端和目标对象之间起到中介的作用适用场景◆保护目标对象◆增强目标对象优点◆代理模式能将代理对象与真实被调用的目标对象分离◆一定程度上降低了系统的耦合度,扩展性好◆保护目标对象◆增强目标...

2019-07-29 11:29:42

【Java设计模式】享元模式

文章目录概述适用场景优点缺点拓展享元-相关设计模式演示概述定义:提供了减少对象数量从而改善应用所需的对象结构的方式运用共享技术有效地支持大量细粒度的对象类型:结构型适用场景常常应用于系统底层的开发,以便解决系统的性能问题。系统有大量相似对象、需要缓冲池的场景。优点◆减少对象的创建,降低内存中对象的数量,降低系统的内存,提高效率◆减少内存之外的其他资源占用缺点◆关注内/...

2019-07-11 10:17:14

【Java设计模式】外观模式

文章目录概述适用场景优点缺点概述定义:又叫门面模式,提供了一个统一的接口,用来访问子系统中的一群接口特点:外观模式定义了一个高层接口,让子系统更容易使用类型:结构型之前接触的都是创建型适用场景子系统越来越复杂,增加外观模式提供简单调用接口构建多层系统结构,利用外观对象作为每层的入口,简化层间调用优点简化了调用过程,无需了解深入子系统,防止带来风险。减少系统依赖、松散耦合...

2019-07-09 22:33:05

【Java设计模式】装饰者模式

文章目录概述使用场景优点缺点装饰者-相关设计模式演示概述定义:在不改变原有对象的基础之上,将功能附加到对象上提供了比继承更有弹性的替代方案(扩展原有对象功能)类型:结构型使用场景扩展一个类的功能或给一个类添加附加职责动态的给一个对象添加功能,这些功能可以再动态的撤销优点◆继承的有力补充,比继承灵活,不改变原有对象的情况下给一个对象扩展功能◆通过使用不同装饰类以及这些装饰类的...

2019-07-10 17:51:18

【Java设计模式】组合模式

文章目录概述适用场景优点缺点组合-相关设计模式演示概述◆定义:将对象组合成树形结构以表示”部分-整体”的层次结构◆组合模式使客户端对单个对象和组合对象保持一致的方式处理◆类型:结构型适用场景◆希望客户端可以忽略组合对象与单个对象的差异时◆处理一个树形结构时优点◆清楚地定义分层次的复杂对象,表示对象的全部或部分层次◆让客户端忽略了层次的差异,方便对整个层次结构进行...

2019-07-11 11:30:48

【Java设计模式】桥接模式

文章目录概述适用场景优点缺点桥接模式相关的设计模式演示概述定义:将抽象部分与它的具体实现部分分离,使它们都可以独立地变化通过组合的方式建立两个类之间联系,而不是继承类型:结构型适用场景抽象和具体实现之间增加更多的灵活性一个类存在两个(或多个)独立变化的维度,且这两个(或多个)维度都需要独立进行扩展不希望使用继承,或因为多层继承导致系统类的个数剧增优点分离抽象部分及其具体实现部分...

2019-07-10 15:09:01

【Java设计模式】适配器模式

文章目录概述适用场景优点缺点拓展适配器-相关设计模式演示概述定义:将一个类的接口转换成客户期望的另一个接口使原本接口不兼容的类可以一起工作类型:结构型适用场景◆已经存在的类,它的方法和需求不匹配时(方法结果相同或相似)◆不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品、不同厂家造成功能类似而接口不相同情况下的解决方案优点能提高类的透明性和复用,现有的类复用但不需要改变...

2019-07-10 20:26:26

【Java设计模式】原型模式

文章目录概述适用场景优点缺点演示概述定义:指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象特点:不需要知道任何创建的细节,不调用构造函数类型:创建型适用场景类初始化消耗较多资源new产生的一个对象需要非常繁琐的过程(数据准备、访问权限等)构造函数比较复杂循环体中生产大量对象时优点原型模式性能比直接new一个对象性能高简化创建过程缺点必须配备克隆方法(cl...

2019-07-08 13:10:30

【Java设计模式】建造者模式

文章目录概述适用场景优点缺点概述◆定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道类型:创建型适用场景如果一个对象有非常复杂的内部结构(很多属性)想把复杂对象的创建和使用分离优点封装性好,创建和使用分离扩展性好、建造类之间独立、一定程度上解耦缺点产生多余的Builder对象产...

2019-07-08 09:56:46

【Java设计模式】抽象工厂

文章目录概述适用场景优点缺点抽象工厂--产品等级结构与产品族演示概述定义:抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口扩展:无须指定它们具体的类类型:创建型抽象工厂能够将一组具有同一主题和单独的工厂封装起来,在正常使用中,客户端程序创建抽象工厂的具体实现,然后使用抽象工厂作为接口来创建这一主题的具体实现,我们不需要关心内部方法中获得对象的具体类型,因为我们的客户端对象仅使...

2019-07-07 09:36:19

【Java设计模式】工厂方法

文章目录定义与类型适用场景优点缺点演示定义与类型定义:定义一个创建对象的接口但让实现这个接口的类来决定实例化哪个类工厂方法让类的实例化推迟到子类中进行类型为创建型适用场景创建对象需要大量重复的代码客户端(应用层)不依赖于产品类实例如何被创建、实现等细节一个类通过其子类来指定创建哪个对象优点用户只需要关心所需产品对应的工厂,无须关心创建细节加入新产品符合开闭原则,提高可扩展性...

2019-07-06 21:41:31

【Java设计模式】简单工厂

文章目录简单工厂定义与类型适用场景优点缺点演示简单工厂定义与类型定义:由一个工厂对象决定创建出哪一种产品类的实例类型创建型,简单工厂不属于GOF23种设计模式但是能够帮助理解抽象工程等GOF23中的设计模式适用场景工厂类负责创建的对象比较少客户端(应用层)只知道传入工厂类的参数对于如何创建对象(逻辑)不关心优点只需要传入一个正确的参数,就可以获取你所需要的对象而无须知道其创建...

2019-06-14 14:36:01

【Java设计模式】设计模式学习引导

其实关于UML、7种软件设计原则和23种设计模式相关的文章,我之前都已经写过了,但是因为创作仓促,质量没有达到我的预期,都被我设置成了私密,接下来的日子里,打算再依次打磨打磨,发表出来。截止目前,唯一放出来的只有【Java设计模式】软件设计七大原则,阅读量两万多,看来大家都热衷于将代码写得更加优质,有水平呀~这篇文章主要起到小地图的作用,不涉及具体的设计模式的探讨以及设计模式的发展历程。...

2019-10-06 11:29:21

【Win10操作】完美卸载Java旧版本,安装Java13

在卸载之前,看了很多的Java旧版本的卸载方式,大都是暴力卸载,费时又费力。操作失误的话说不定卸载不干净,导致新版本装不上,最后弄得要重装系统。还好保持着比较好的克制,参考了大量的资料,最后在Java官方那里找到了最好的方法,有专门的卸载工具提供:网站:https://java.com/en/download/uninstalltool.jsp传送门操作的话也是非常友好的,是中文的...

2019-10-05 10:07:13

【Java 8 in Action】Stream

Lambda表达式是Stream的基础,如果你还不懂它,可以参考这篇文章在Lambda表达式章节也说了Stream是Java8的一大亮点。它与java.io包里的InputStream和OutputStream是完全不同的概念。我们看一下官方文档官方文档表明:Stream流将要处理的元素集合看作一种流,流在管道中传输,并且可以在管道的节点上进行处理,比如筛选、...

2019-09-30 08:25:10

【Java 8 in Action】Lambda表达式

文章目录Lambda表达式Lambda表达式的介绍Lambda表达式的语法MethodReferencesDefaultmethodsFunctionalInterface浅析Lambda表达式的本质Lambda表达式Lambda表达式的介绍Lambda表达式是在java规范提案JSR335中定义的,Java8中引入了Lambda表达式,并被认为是Java8最大的新特性,Lam...

2019-09-29 11:58:50

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。