自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (60)
  • 收藏
  • 关注

原创 设计模式:访问者模式

访问者模式(Visitor Pattern)是一种行为型设计模式,它允许你在不修改对象结构的情况下定义作用于这些对象的新操作。访问者模式通过将操作封装到访问者对象中,使得可以在不改变元素类的前提下,增加新的操作。该模式适用于数据结构相对稳定,而操作易于变化的系统。

2024-05-31 23:11:38 316

原创 设计模式:模板方法模式

模板方法模式(Template Method Pattern)是一种行为型设计模式,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。模板方法模式通过将不变的行为搬移到超类,去除了子类中的重复代码。

2024-05-31 23:05:49 297

原创 设计模式:策略模式

策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每一个算法封装起来,使得它们可以互相替换。策略模式使得算法可以独立于使用它的客户而变化。策略模式通过定义一组可互换的算法,让客户端可以在运行时选择不同的算法。

2024-05-31 23:00:24 159

原创 设计模式:状态模式

状态模式(State Pattern)是一种行为型设计模式,它允许一个对象在其内部状态改变时改变其行为,使对象看起来好像修改了其类。状态模式通过将状态相关的行为抽取到独立的状态类中,使得增加新状态变得容易,且不会影响到其他状态的行为。

2024-05-31 22:55:32 140

原创 设计模式:观察者模式

观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。当主题对象的状态发生变化时,它会通知所有观察者对象,使它们能够自动更新。观察者模式是事件驱动编程的一种实现方式,广泛应用于GUI框架、事件处理系统等。

2024-05-31 22:51:11 295

原创 设计模式:备忘录模式

备忘录模式(Memento Pattern)是一种行为型设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态,从而可以在需要时将对象恢复到之前的状态。备忘录模式通过保存对象的状态来支持撤销操作。

2024-05-31 21:26:06 287

原创 设计模式:中介者模式

中介者模式(Mediator Pattern)是一种行为型设计模式,它定义了一个中介对象来封装一组对象之间的交互。中介者模式通过使对象不再显式地相互引用,从而使对象之间的耦合松散,且可以独立地改变它们之间的交互。

2024-05-31 21:18:01 184

原创 设计模式:迭代器模式

迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式将遍历聚合对象的任务交给迭代器对象,从而简化了聚合对象的接口和实现。

2024-05-31 21:13:08 355

原创 设计模式:解释器模式

解释器模式(Interpreter Pattern)是一种行为型设计模式,它定义了一种语言的文法表示,并定义一个解释器来解释这种语言中的句子。解释器模式用于解析和执行特定语法或表达式的系统。

2024-05-31 18:26:20 404

原创 设计模式:命令模式

命令模式(Command Pattern)是一种行为型设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户端进行参数化、对请求排队或记录请求日志,以及支持可撤销的操作。命令模式通过将请求的发送者和接收者解耦,使得可以灵活地设计请求的处理和管理。

2024-05-31 18:17:50 228

原创 设计模式:责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。将这些对象连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。

2024-05-31 18:09:35 244

原创 设计模式:代理模式

代理模式(Proxy Pattern)是一种结构型设计模式,它允许通过代理对象来控制对其他对象的访问。代理对象通常会在实际对象的方法调用前后进行一些额外的操作,比如延迟实例化、安全检查、日志记录等。

2024-05-31 17:58:04 408

原创 设计模式:享元模式

享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享细粒度对象来支持大量细粒度对象的高效共享,避免对象的多次创建,从而减少内存使用。享元模式非常适合用于实现那些包含大量相似对象的系统。

2024-05-31 14:06:36 349

原创 设计模式:外观模式

外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的高层接口。这个高层接口使得子系统更加易于使用。

2024-05-31 10:05:46 334

原创 设计模式:装饰模式

装饰模式(Decorator Pattern)是一种结构型设计模式,它允许在不改变对象接口的前提下向对象添加新的行为。通过使用装饰模式,我们可以动态地将责任附加到对象上,而无需修改代码中的其他类。

2024-05-31 10:00:18 429

原创 设计模式:组合模式

通过组合模式,我们可以构建一个包含单个对象和组合对象的树形结构。这个模式使得客户端可以一致地处理单个对象和组合对象,从而简化了代码的操作。

2024-05-30 23:56:57 180

原创 设计模式:桥接模式

Override@Override通过桥接模式,我们将形状和颜色解耦,使得它们可以独立变化。我们可以在不改变颜色类的情况下增加新的形状,也可以在不改变形状类的情况下增加新的颜色。这种设计方式使得系统更加灵活和易于扩展。

2024-05-30 23:52:42 317

原创 设计模式:适配器模式

是一种结构型设计模式,它使得接口不兼容的类可以一起工作。它通过将一个类的接口转换成客户端期望的另一个接口,使得原本因接口不兼容而不能一起工作的类可以在一起工作。

2024-05-30 23:15:57 212

原创 设计模式:原型模式

是一种创建型设计模式,它允许一个对象通过复制现有的对象来创建新的实例。原型模式的主要目的是通过克隆来创建对象,而不是通过构造函数。这对于创建代价较高或复杂的对象时特别有用。

2024-05-30 22:58:18 297

原创 设计模式:建造者模式

是一种创建型设计模式,它允许使用多个简单的对象一步一步构建一个复杂的对象。建造者模式的主要目的是将对象的构造与它的表示分离,使得相同的构建过程可以创建不同的表示。

2024-05-30 22:50:48 293

原创 设计模式:抽象工厂模式

抽象工厂模式是一个创建型设计模式,主要用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。它提供一个接口,用于创建相关或依赖对象的家族,而无需明确指定具体类。

2024-05-30 22:32:32 158

原创 设计模式:工厂方法模式

(Factory Method Pattern)是一种创建型设计模式,它定义一个创建对象的接口,但由子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。

2024-05-30 22:17:34 866

原创 设计模式:简单工厂模式

Shape.java:图形接口:具体的圆形类@Override:具体的矩形类@Override:工厂类public class ShapeFactory {// 静态方法,根据输入参数创建具体图形对象。

2024-05-30 21:00:45 504

原创 设计模式:单例模式

有多种方式来实现单例模式,例如懒汉式、饿汉式、双重检查锁等。我们将通过以下几种方式实现单例模式。:确保一个类只有一个实例,并提供一个全局访问点。饿汉式在类加载时就实例化单例对象,线程安全。利用类加载机制确保线程安全,推荐使用。关键字保证线程安全,但性能较低。时才创建实例,但线程不安全。

2024-05-30 20:49:56 265

原创 23种经典设计模式

GOF提出的23种设计模式分为三大类:创建型模式、结构型模式和行为型模式。

2024-05-30 20:32:30 307

原创 代码坏味道:夸夸其谈通用性

夸夸其谈通用性指的是为了未来可能的扩展或复用,过度设计和实现了许多当前并不需要的功能或抽象。这种做法会导致代码复杂度增加,难以维护和理解,而这些所谓的“通用性”在未来很可能并不会被用到。

2024-05-27 23:04:50 277

原创 java单元测试:spring测试模块

Spring 测试模块为开发者提供了一套强大的工具,用于在 Spring 应用中进行单元测试、集成测试和端到端测试。

2024-05-27 23:03:55 1272

原创 java单元测试:springmvc接口测试之传递不同类型的请求参数

在使用MockMvc进行测试时,传递参数的方法多种多样。参数可以通过 URL 路径、查询参数、请求体等形式传递。

2024-05-27 23:00:53 305

原创 java单元测试:springmvc接口测试之RequestBuilder

构建 GET 请求。: 构建 POST 请求。: 构建 PUT 请求。: 构建 DELETE 请求。: 构建 PATCH 请求。: 构建 HEAD 请求。: 构建 OPTIONS 请求。: 构建自定义 HTTP 请求。: 添加查询参数。: 添加请求头。: 设置请求体内容。: 设置请求的内容类型。: 设置客户端接受的响应类型。

2024-05-27 22:56:50 281

原创 java单元测试:springmvc接口测试之ResultMatcher

如果内置的不满足你的需求,你可以创建自定义的。if(!} } } // 使用自定义的 ResultMatcher mockMvc . perform(get("/api/users/hello")) . andExpect(new CustomHeaderMatcher("Content-Type" , "application/json"));if(!

2024-05-27 22:53:30 434

原创 java单元测试:springmvc接口测试之ResultHandler

你可以根据测试需求创建自定义的实现。例如,可以创建一个用于计算响应时间或处理特定的响应格式。综合上述内容,以下是一个完整的示例,展示如何使用常见的"));} }"));} }"));} }"));} }Test;} }"));} }"));} }"));

2024-05-27 22:51:26 1017

原创 java单元测试:springmvc接口测试MockMvc

MockMvc 是 Spring 测试框架中的一个重要工具,用于在不启动真实服务器的情况下测试 Spring MVC 控制器。它提供了一种方式来模拟 HTTP 请求,并验证控制器的行为和响应。

2024-05-27 21:15:21 584

原创 代码坏味道:循环语句

循环语句(如forwhile等)虽然是编程中常用的控制结构,但在某些情况下,循环语句可能会导致代码难以理解和维护。这种坏味道指的是循环语句包含复杂的逻辑、多个嵌套层次,或者可以用更高层次的操作(如集合操作、流操作等)来替代,以提高代码的可读性和可维护性。

2024-05-26 12:36:18 271

原创 代码坏味道:重复的switch

重复的switch指的是在代码的多个地方使用相同的switch (或if-else) 语句来做不同的操作。这种坏味道会导致代码的重复和难以维护。如果需要修改某个条件或添加新条件,就需要在每个switch语句处进行修改,容易引入错误和不一致。

2024-05-26 12:34:42 281

原创 重构技巧1

函数组合成类是一种有效的重构手法,通过将相关函数和数据封装在一个类中,可以显著提高代码的内聚性、可读性和可维护性。函数组合成变换是一个强大的重构手法,通过将多个相关的函数合并为一个转换过程,可以显著提高代码的可读性和可维护性。拆分阶段是一种有效的重构手法,通过将复杂的处理流程拆分为多个独立的步骤,可以显著提高代码的可读性和可维护性。封装变量是提升代码封装性和灵活性的重要手法,通过封装变量,可以更好地控制数据的访问和修改,提高代码的安全性和可维护性。提炼函数是指从一个较大的函数中提取出一个或多个较小的函数。

2024-05-26 12:25:40 922

原创 代码坏味道:基本类型偏执

等)来表示复杂的数据,而不使用自定义的类型。这样会导致代码缺乏清晰的语义,难以维护和扩展。当基本类型的使用方式开始变得复杂或频繁时,通常意味着需要引入新的类型来封装这些基本数据。通过引入值对象和自定义类型,可以消除基本类型偏执的坏味道,增强代码的表达能力和可维护性。基本类型偏执指的是过度使用基本类型(如。

2024-05-26 10:06:16 158

原创 代码坏味道:数据泥团

数据泥团指的是多个数据项经常一起出现,并且在多个地方一起传递或处理。这种情况通常表明这些数据具有某种内在的关联,应该被封装成一个对象。数据泥团会导致代码的冗余和难以维护,因为每次修改都需要在多个地方进行相同的调整。通过引入对象将数据泥团封装起来,可以减少代码的冗余,提高代码的内聚性和可维护性。

2024-05-26 10:01:53 445

原创 代码坏味道:依恋情节

依恋情节指的是一个类频繁地访问另一个类的数据或方法,而不是使用自身的数据和方法。这通常表明功能实现可能放在了错误的类中。依恋情节会导致类之间的高度耦合,降低代码的可维护性和可读性。通过将方法移动到更合适的类中,可以减少依恋情节的坏味道,提高代码的内聚性和可维护性。

2024-05-26 09:59:48 239

原创 代码坏味道:散弹式修改

散弹式修改指的是对某一个功能的修改需要在多个不同的类或模块中进行小幅度的修改。这样的代码结构增加了维护的复杂性,因为一次简单的功能修改可能会涉及到多个类或模块的调整,容易出错并且难以追踪和测试。通常这也是违反单一职责原则(Single Responsibility Principle, SRP)的表现。通过将相关的功能聚合到一个类或模块中,可以有效减少散弹式修改的坏味道,提高代码的可维护性和可读性。

2024-05-26 09:53:29 278

原创 代码坏味道:发散式变化

发散式变化指的是一个模块需要因为多种不同的原因而发生变化。这通常意味着这个模块承担了过多的职责,违反了单一职责原则(Single Responsibility Principle, SRP)。当一个模块需要频繁地因为不同的原因进行修改时,维护起来会变得非常困难,增加了出错的可能性。通过遵循单一职责原则和模块化设计,可以有效减少发散式变化的坏味道,提高代码的可维护性和可读性。

2024-05-26 09:34:27 446

吃豆豆游戏

内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

学生信息管理系统

学生信息管理系统,内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

连连看小游戏

连连看小游戏,一个简单的连连看小游戏,内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

74系列芯片总汇

74系列芯片总汇,内有各种74系列的芯片的详细资料,是我平时所积累的,如:74HC138,74HC595等等几十种。。。

2013-10-27

c++ 300题经典

c++ 300题经典,其中有详细的C++基础知识,还有小题目附加代码,可以巩固学过的知识点,适合初学者

2013-10-26

SQL.Server.数据库设计与管理

SQL.Server.数据库设计与管理,详细介绍了数据库的设计原则和设计方法,很好的一本书。。

2013-10-26

深入浅出mfc源代码

深入浅出mfc,作者侯捷,这是他的这本书的全部源代码,内有完整的公程。

2013-10-26

学生管理系统

学生管理系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

视频聊天系统

视频聊天系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

人事考勤系统

C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

垃圾清理系统

垃圾清理系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

进销存管理系统

进销存管理系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

教学自动化系统

教学自动化系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

公交自动化系统

公交自动化系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

成绩管理系统.

成绩管理系统.,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

KTV点歌系统

KTV点歌系统,C++完整的项目,想要自学锻炼一下自己的同学可以下载看看,很好的学习用的小项目

2013-10-24

数据库设计的案例分析

数据库设计的案例分析,这个word文件里面有一个数据库设计的案例,供参考设计自己的数据库

2013-10-24

家庭理财系统

这是一个需求文档,想要锻炼一下自己的孩子可以下载看看,然后试着能不能做出来。这个系统是J2EE时期作为巩固知识用的小项目

2013-10-24

jquery帮助文档中文版

想学jquery的孩子可以下载看看,挺有用的帮助文档

2013-10-23

sqljdbc数据库连接包

java使用jdbc连接sql所用的包,很有用的

2013-10-23

Hibernate的一个简单例子

这是一个Hibernate的例子,其中有Hibernate例子所需的jar包,包括:antlr.jar,commons-logging.jar等,这是一个可以运行的Hibernate例子

2014-05-18

MFC五子棋系统

一门课程的大作业,实现了背景音乐,网络对战,人机对战,人人对战,还有其他一些小功能。值得一学哦

2014-05-02

apache-ant1.8.2

ant是一个很好地管理工具,可以有效的帮助我们管理工程。 这是一个ant1.8.0版本的包

2014-05-02

985工程大学的java课程练习题

985工程大学的java课程练习题,平时作业题目,还有一些综合性较强的练习,如,21点游戏,多生产者多消费者,等等

2013-11-05

JUnit帮助文档

JUnit帮助文档

2013-10-30

Linux命令大全

Linux命令大全,详细而且非常完整的命令,欢迎下载。

2013-10-30

三个java实训项目文档

这是期末实训项目的三个文档,内有完整的项目需求文档,可以锻炼自己学过的java知识,是很不错很难得的材料。。。初学者就需要这样的锻炼

2013-10-30

二十几家公司的面试题锦

二十几家公司的面试题锦,有兴趣的可以下载看看

2013-10-28

简易中国象棋

中国象棋,内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

java简易浏览器

浏览器,内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

java聊天程序

聊天程序,内有java源代码,很适合学完javaSE的同学做一个总体的练习。

2013-10-28

codeblocks

codeblocks一款很好的编辑器,而且很小的,个人用着很习惯

2013-10-27

大型零售企业移动办公系统

大型零售企业移动办公系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-27

医疗保险中心报销系统

医疗保险中心报销系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-27

餐饮企业网上订餐和电子菜单运营系统

餐饮企业网上订餐和电子菜单运营系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-27

银行纸黄金、纸白银交易系统

银行纸黄金、纸白银交易系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-27

招聘管理系统

招聘管理系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-26

测试外包项目管理系统

-测试外包项目管理系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-26

企业信息管理系统

企业信息管理系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-26

物流管理系统

物流管理系统,这是服务外包大赛的原题,可以自己开发这个项目来锻炼自己的能力,里面没有源代码哦。

2013-10-26

空空如也

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

TA关注的人

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