- 博客(28)
- 收藏
- 关注
原创 java中命令模式详解和使用方法
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。介绍意图:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数化。主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。何时使用:在某些场合,比如要对行为进行
2020-05-23 14:45:46
674
原创 java中责任链模式详解和使用方法
顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。介绍意图:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。主要解决:职责链上的处
2020-05-23 14:39:42
405
原创 java中代理模式详解和使用方法
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。介绍意图:为其他对象提供一种代理以控制对这个对象的访问。主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。
2020-05-23 14:33:38
405
原创 java中享元模式详解和使用方法
享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被用来检查现有的 Circle 对象。介绍意图:运用共享技术有效地支持大量细粒度的对象。主要解决:在有大量对象时,有可能会
2020-05-23 14:24:58
256
原创 java中外观模式详解和使用方法
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。介绍意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。何时使用: 1、客户端不需要知道系统内部的
2020-05-23 14:18:57
303
原创 java中装饰器模式详解和使用方法
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们通过下面的实例来演示装饰器模式的用法。其中,我们将把一个形状装饰上不同的颜色,同时又不改变形状类。介绍意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。主要解决:一般的,我们为了扩展一个类经常使用继
2020-05-22 14:46:02
1536
1
原创 java中组合模式详解和使用方法
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。介绍意图:将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。主要解决:它在
2020-05-22 14:37:23
280
原创 java中过滤器模式详解和使用方法
过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。这种类型的设计模式属于结构型模式,它结合多个标准来获得单一标准。实现我们将创建一个 Person 对象、Criteria 接口和实现了该接口的实体类,来过滤 Person 对象的列表。CriteriaPatternDemo,我们的演示类使用 Criteria 对象,基于各种标准和它们的结合来过滤 Person 对
2020-05-22 14:29:16
347
原创 java中桥接模式详解和使用方法
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。我们通过下面的实例来演示桥接模式(Bridge Pattern)的用法。其中,可以使用相同的抽象类方法但是不同的桥接实现类,来画出不同颜色的圆。介绍意图:将抽象部分与实现部分分离,使它们都可以独立的变化。主要解决:在有多种可能会变化
2020-05-22 14:20:17
249
原创 java中适配器模式详解和使用方法
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。介绍意图:将一
2020-05-22 14:13:50
713
原创 java中原型模式详解和使用方法
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。介绍意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运行期建立和
2020-05-21 15:29:27
352
1
原创 java中建造者模式详解和使用方法
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,
2020-05-21 15:19:00
451
原创 java中单例模式详解和使用方法
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。介绍意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一
2020-05-21 15:09:18
239
原创 java中抽象工厂模式详解和使用方法
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。介绍意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何解决
2020-05-21 14:56:58
254
1
原创 java中工厂模式详解和使用方法
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。
2020-05-21 14:42:42
997
原创 java中的23种设计模式--最最最详细总结和使用场景
设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大
2020-05-20 19:03:21
4485
2
原创 java中的算数运算符有哪些?
+、-、*、/、%、++、–、1)、+正号一般省略,表示正数加法两个数值相连,进行加法运算字符串连接符字符串后紧跟的+都是字符串连接符,其后所有的数据统统为字符串格式2)、-负号在一个数字前面表示该数为负数减号对数值做减法运算3)、*对数字的乘法运算4)、/除法运算当只有整数参与除法运算时,结果为整数(直接取整)5)、%求余运算6)、++自增运算符。只针对数值类型的变量有效含义:在变量现有值的基础上加一;即变量自增1前导自增 ++i先自增,后使
2020-05-19 15:08:26
955
原创 原来Java代码在DOS中是这样跑的!!!不知道你就OUT了!!!
1.以HelloWrold为例HelloWorld一般指的是我们学习一门新技术的第一个例子,统称为HelloWorld2.HelloWrold实现步骤2.1新建文本文档,以HelloWorld.java命名2.2编辑文本内容2.3 编译2.4运行看结果再继续输入 java HelloWorld 命令...
2020-05-18 16:24:26
87
原创 DOS命令运行java代码中的问题,程序员都知道怎么解决!!!!
1.文件后缀名文件扩展名也称为文件的后缀名,是操作系统用来标志文件类型的一种机制。有了文件的后缀名,方便操作系统判定使用何种软件打开文件。注意:文件的后缀名并不改变文件本身的内容。文件的后缀名可隐藏,一旦隐藏了后缀名,则我们无法直接更改后缀(即使改了也不成功),所以当文件后缀名被隐藏时,我们需要将其进行显示。2.javac后跟文件完整名.java文件当中的类名(class 后面跟的名称)经过编译过后,会将类名作为.class文件的文件名称。但是,注意: javac后面跟的是文件名+扩展名
2020-05-18 16:14:11
148
原创 这些编译器居然这么好用!!程序员都在用!!
编辑器就是一个用来写代码的工具,市面上有很多编辑器可以选择,有的是纯编辑,有的带样式,有的带提示,当然还有很多集成开发环境。学习初期我们使用简单的纯编辑器,带样式的就可以了。以上这些是初学者好用的java编译器还有两个本人认为好用的高级编译器不要下载太新的版本,够用就好。。...
2020-05-18 15:51:54
1638
原创 震惊!!!!!公司的JDK居然是这样配的!!!!!
1.下载并安装https://www.oracle.com/technetwork/java/javase/downloads/index.html 下载可以从官网下载也可通过其他途径获取,只要最终得到JDK的安装包即可。双击安装,注意:安装目录不要包含中文安装完成在安装目录会看到这样两个文件夹2.测试进入到安装目录中使用 java -version 或 javac -version 命令测试注意:首先进入安装目录的bin目录中(此中有命令)3.设置环境变量安装好JD
2020-05-18 15:24:34
125
原创 程序员都在用的java中常用的关键字和标识符
1. 关键字1.1、定义是被系统征用的特殊单词(标识符),而且是被广大程序员所认知的。1.2、Java所有关键字和保留字1.3、常用关键字2. 标识符3.1 定义就是给类,接口,方法,变量等起名字的字符序列。用来查找、定位、标明、唯一确认内容。...
2020-05-18 15:12:23
225
原创 java中的命名规范,程序员都在这么做。
1. 关键字和标识符1.1. 编程规范Ø 任何地方的名字都需要见名知意;Ø 代码适当缩进Ø 书写过程成对编程Ø 对代码进行合理注释2. 关键字2.1、特点全部小写2.2、注意事项A:goto和const作为保留字存在。B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记3. 标识符3.1 组成规则:A:英文大小写字母(字符统称–>中英文皆可,强烈不推荐使用中文)B:数字C:$和_3.2 注意事项:A:不能以数字开头B:不能是java中的关键字C:
2020-05-16 17:38:39
223
原创 程序员都知道的数据变量
1. 数据1.1、定义承载信息的符号1.2 常见的数据A:字符串常量 “hello”B:整数常量 12,23C:小数常量 12.345D:字符常量 ‘a’,‘A’,‘0’E:布尔常量 true,falseF:空常量 null(后面讲)1.3 在Java中针对整数常量提供了四种表现形式——(理解)A:二进制 由0,1组成。以0b开头。B:八进制 由0,1,…7组成。以0开头。C:十进制 由0,1,…9组成。整数默认是十进制。D:十六进制 由0,1,…9,a,b,c,d,e,f(大小写
2020-05-16 17:27:22
502
原创 java中的数据类型居然有这么多!!!
1.数据类型1.1 定义程序需要处理各种各样的数据,例如文字、图片、音频、视频等,对于不同的数据,处理方式当然也不同,数据能够进行的运算也是不同的。Java是一种强类型语言,针对每种数据都提供了对应的数据类型。不同的类型,指定不同大小的空间,适当的数据范围使用适当的数据类型进行存储。为了能够方便和更好地处理数据,在程序中我们也将数据进行划分称不同的数据类型。1.2 分类A:基本数据类型:4类8种B:引用数据类型:类,接口,数组。1.3 基本数据类型注意:整数数值默认为int类型,如果
2020-05-16 17:10:44
192
1
原创 java程序员都知道的数据类型的区别!!
1.Java四类八种数据类型第一类:逻辑型boolean第二类:文本型char第三类:整数型(byte、short、int、long)char类型占2个字节short从-32768到32767int从-2147483648,到2147483647共10位long从-9223372036854775808到9223372036854775807共19位第四类:浮点型(float、double)在数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点
2020-05-16 16:14:52
126
原创 这些快捷键程序员都在用!不用你就OUT了!!
1.功能键的认识tabshiftctrlaltwindow空格上下左右回车截图 QQ截图:Ctrl+Alt+A2 .常用快捷键全选 Ctrl+A复制 Ctrl+C粘贴 Ctrl+V剪切 Ctrl+X撤销 Ctrl+Z保存 Ctrl+S恢复 Ctrl+Y打开开始菜单 Win打开计算机窗口 Win+E打开运行窗口 Win+R显示桌面/所有窗口最小化 Win+D3.常用DOS命令...
2020-05-16 16:13:57
117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人