自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Java学习-设计模式-备忘录模式

Java学习-设计模式-备忘录模式概述:备忘录模式保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。优点: 1、给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。 2、实现了信息的封装,使得用户不需要关心状态的保存细节。**缺点:**消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。使用场景:...

2019-03-16 13:23:16 153

原创 Java学习-设计模式-中介者模式

Java学习-设计模式-中介者模式概念:中介者模式是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。优点: 1、降低了类的复杂度,将一对多转化成了一对一。 2、各个类之间的解耦。 3、符合迪米特原则。**缺点:**中介者会庞大,变得复杂难以维护。使用场景: 1、系统中对象之间存在比较复杂...

2019-03-16 13:21:54 91

原创 Java学习-设计模式-迭代器模式

Java学习-设计模式-迭代器模式概述:迭代器模式是 Java 和 .Net 编程环境中非常常用的设计模式。这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。优点: 1、它支持以不同的方式遍历一个聚合对象。 2、迭代器简化了聚合类。 3、在同一个聚合上可以有多个遍历。 4、在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码。**缺点:**由于迭代器模式将存储...

2019-03-16 13:21:06 179

原创 Java学习-设计模式-装饰器模式和代理模式的区别

Java学习-设计模式-装饰器模式和代理模式的区别区别:**装饰器模式: ** 关注于在一个对象上动态的添加方法。当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。**代理模式: ** 关注于控制对对象的访问。用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的...

2019-03-16 13:20:20 1700

原创 Java学习-设计模式-解释器模式

Java学习-设计模式-解释器模式概述:解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。优点: 1、可扩展性比较好,灵活。 2、增加了新的解释表达式的方式。 3、易于实现简单文法。缺点: 1、可利用场景比较少。 2、对于复杂的文法比较难维护。 3、解释器模式会引起类膨胀。...

2019-03-16 13:19:20 139

原创 Java学习-设计模式-命令模式

Java学习-设计模式-命令模式概述:命令模式是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。优点: 1、降低了系统耦合度。 2、新的命令可以很容易添加到系统中去。**缺点:**使用命令模式可能会导致某些系统有过多的具体命令类。**使用场景:**认为是命令的地方都可...

2019-03-16 13:18:34 117

原创 Java学习-设计模式-责任链模式

Java学习-设计模式-责任链模式概述:责任链模式为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。优点: 1、降低耦合度。它将请求的发送者和接收者解耦。 2、简化了对象。使得对象不需要知...

2019-03-16 13:17:45 112

原创 Java学习-设计模式-代理模式

Java学习-设计模式-代理模式概述在代理模式中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。优点: 1、职责清晰。 2、高扩展性。 3、智能化。缺点: 1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的实现非常...

2019-03-16 13:16:53 96

原创 Java学习-设计模式-享元模式

Java学习-设计模式-享元模式概述享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能,它提供了减少对象数量从而改善应用所需的对象结构的方式。**优点:**大大减少对象的创建,降低系统的内存,使效率提高。**缺点:**提高了系统的复杂度,需要分离出外部状态和内部状态,而且外部状态具有固有化的性质,不应该随着内部状态的变化而变化,否则会造成系统的混乱。理解:这个也很好理解,还是...

2019-03-16 13:16:01 106

原创 Java学习-设计模式-外观模式

Java学习-设计模式-外观模式概述:外观模式隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。通过向现有的系统添加一个接口,来隐藏系统的复杂性。优点: 1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。**缺点:**不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。理解:这个理解很简单,还是以水果店为例,水果店需要进多种水果,比如橘子、苹果、香蕉等等。假设...

2019-03-16 13:15:12 106

原创 Java学习-设计模式-装饰器模式

Java学习-设计模式-装饰器模式概述**定义: ** 装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。**优点:**装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。**缺点:**多层装饰比较复杂。理解:说真的,查找装饰器模式的学习资料的时候,...

2019-03-10 14:32:43 103

原创 Java学习-设计模式-组合模式

Java学习-设计模式-组合模式概述组合模式是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。优点: 1、高层模块调用简单。 2、节点自由增加。**缺点:**在使用组合模式时,其叶子和树枝的声明都是实现类,而不...

2019-03-10 14:32:00 144

原创 Java学习-设计模式-过滤器模式

Java学习-设计模式-过滤器模式概述:过滤器模式使用不同的条件过滤对象,这些标准可以通过逻辑操作链接在一起,过滤器模式是一种结构型模式。这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来,它结合多个标准来获得单一标准。理解:这个是不是理解很简单啊,我感觉看到示例好的一下就理解了,示例要是只有纯代码的,贼懵逼。简而言之:就拿高中举例,高中有男生和女...

2019-03-10 14:31:12 169

原创 Java学习-设计模式-桥接模式

Java学习-设计模式-桥接模式概念:桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。**优点: **分离抽象接口及其实现部分。提高了比继承更好的解决方案。桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。实现细节对客户透明,可以...

2019-03-10 14:30:18 93

原创 Java学习-设计模式-适配器模式

Java学习-设计模式-适配器模式概述:适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中...

2019-03-10 14:29:33 91

原创 Java学习-设计模式-原型模式

Java学习-设计模式-原型模式概念:原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在原型模式中我们可以利用过一个原型对象来指明我们所要创建对象的类型,然后通过复制这个对象的方法来获得与该对象一模一样的对象实例。这就是原型模式的设计目的。这种模式是实现了一个原型接口,该接口用于创建当前...

2019-03-10 14:28:47 84

原创 Java学习-设计模式-建造者模式

Java学习-设计模式-建造者模式概念**建造者模式(Builder Pattern) ** 又名生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。**建造者模式 ** 是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。**建造者...

2019-03-10 14:27:57 82

原创 Java学习-设计模式-单例模式

Java学习-设计模式-单例模式概述:单例模式是一种创建模式。这种模式只涉及一个单独的类,它负责创建自己的对象。该类确保只创建单个对象。这个类提供了一种访问其唯一对象的方法。特点:单例模式的构造函数是私有的,没有办法直接使用new调用构造函数,所以不会创建新对象。它只能通过它的一个静态方法得到实例,而这个静态方法可以去调构造函数产生一个实例并返回。**单例模式的作用 : ** 可...

2019-03-10 14:27:00 117

原创 Java学习-设计模式-抽象工厂模式

Java学习-设计模式-抽象工厂模式概述:抽象工厂模式是另一个创建模式。抽象工厂模式,也称为工厂的工厂,有一个工厂创建其他工厂。当使用抽象工厂模式时,我们首先使用超级工厂创建工厂,然后使用创建的工厂创建对象。理解:这玩意就像是用简单工厂模式去获取一个简单工厂模式,然后再去获取想要的对象。​ 比如说,使用简单工厂模式去获取动物中的猫、狗两类,但是这次获取的不单单是猫和狗的对象,而是一个...

2019-03-10 14:25:19 184

原创 Java学习-设计模式-简单工厂模式

Java学习-设计模式-简单工厂模式概述:​ 工厂模式是一种创建模式,因为此模式提供了更好的方法来创建对象。​ 在工厂模式中,我们创建对象而不将创建逻辑暴露给客户端。理解:​ 假设现有一个名为动物的接口,然后有很多动物类实现这个接口,​ 而简单工厂模式就是:我声明一个名为动物的类,里面有一个方法,根据你调用这个方法时传递的参数(动物名称),返回指定类型的动物对象给你。优缺点:优点...

2019-03-10 14:23:59 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除