自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 迪米特原则

定义:迪米特原则也叫最少知道原则,一个对象应该对其他对象保持最少的了解。简单的说,就是如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用迪米特法则还是在讲如何减少耦合的问题,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。也就是说,信息的隐藏促进了软件的复用。只和...

2019-02-26 16:56:47 408

原创 观察者模式

定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。可以理解为报纸配送员配送报纸,订阅报纸就会每天收到报纸,不订阅就收不到报纸了。模式结构图:举个例子:配送员配送报纸首先定义一个报亭接口:public interface Newsstand{ //这两个方法都需要一个观察者作为变量,用来注册或者被删除的 void regist...

2019-02-26 14:54:16 90

原创 开闭原则

定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。也就是说,如果修改或者添加一个功能,应该是通过扩展原来的代码,而不是通过修改原来的代码。举个例子,一本书有价格,书名,年份,程序表示就是:图解:用代码表示为:先创建一个图书馆接口:public interface Library { double getPrice(); String getBookNam...

2019-02-25 11:48:15 115

原创 接口隔离原则

接口隔离原则定义:客户端不应该依赖它不需用的接口。类间的依赖关系应该建立在最小的接口上。解释定义:我们可以把这两个定义概括为一句话:建立单一接口,不要建立臃肿庞大的接口。再通俗的一点讲: 接口尽量细化,同时接口中的方法尽量的少。和单一职责不同的是,单一职责是按照职责划分接口的,并不完全不符合接口隔离原则。接口隔离原则就是再细化一下,比如一个接口有1,2,3,但是我只想要1,2,这个...

2019-02-24 18:09:52 91

原创 依赖倒置原则

依赖倒置原则

2019-02-24 16:55:11 94

原创 java单例模式

java单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。...

2019-02-24 10:55:09 85

原创 里氏替换原则

里氏替换原则在说原则之前先回忆几个定义:一、重写与重载的区别:1)重写(Override):1.1)发生在父子类中,方法名相同,参数列表相同,方法体不同1.2)重写遵循"运行期"绑定,看对象的类型来调用方法2**)重载(Overload)

2019-02-23 16:15:18 193

原创 单一原则

单一原则简述就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。举例:public class DemoEntity { @Id private int id; private String name;...

2019-02-23 16:00:02 381

原创 JUnit中使用assertThat断言与MockMvc

定义:1.JUnit4.*引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活;2.使用全新的断言语法:assertThat,结合Hamcest提供的匹配符,只用这一个方法,就可以实现所有的测试;3.assertThat语法如下:assertThat(T actual, Matcher matcher);assertTha...

2019-02-22 10:38:59 2229 1

原创 23种设计模式之工厂模式

除了使用new操作符之外还有更多制造对象的方法,你将了解到实例化这个活动不应该总是公开地进行,也会认识到初始化经常造成耦合问题,工厂模式将帮你从复杂的依赖中脱困。工厂模式可以分为三类:第一个:简单工厂模式简单工厂模式属于创建型模式,又叫做静态工厂方法模式,但是不属于23中GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式...

2019-02-19 18:17:34 127

原创 数据库索引

索引: 索引是数据库中用来提高查询效率的技术,类似于目录为什么用:不使用索引,数据会零散的保存在磁盘块中,查询数据需要挨个遍历每一个磁盘块,直到找到数据为止,使用索引后会将磁盘块以树状结构保存,查询数据时会大大降低访问的磁盘块数量,从而提高查询效率。缺点:索引会占用磁盘空间,只对常用的查询字段创建索引。如果表中数据量很少,添加索引反而会降低查询效率。复合索引:通过多个字段创建的索引称为复合索...

2019-02-16 10:45:43 61

转载 RabbitMQ的用法整合

MQ的作用:解耦:在项目启动之初是很难预测未来会遇到什么困难的,消息中间件在处理过程中插入了一个隐含的,基于数据的接口层,两边都实现这个接口,这样就允许独立的修改或者扩展两边的处理过程,只要两边遵守相同的接口约束即可。冗余(存储):在某些情况下处理数据的过程中会失败,消息中间件允许把数据持久化知道他们完全被处理扩展性:消息中间件解耦了应用的过程,所以提供消息入队和处理的效率是很容易的,只需...

2019-02-12 17:22:55 368

原创 Git 基本操作

Git 基本操作Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。本章将对有关创建与提交你的项目快照的命令作介绍。获取与创建项目命令git init用 git init 在目录中创建新的 Git 仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。在目录中执行 git init,就可以创建一个 Git 仓库了。比如我们创建 runoob 项目:$ mkdir ru...

2019-01-21 17:41:21 57

原创 MySQL基础语句

数据库语句1.要求服务器告诉您它的版本号和当前日期。select version(),current_date;2.使用该SHOW语句查找服务器上当前存在的数据库: 如果您没有该SHOW DATABASES 权限,则不会显示您没有权限的数据库show databases;3.创建数据库create database 数据库名;4.选择数据库use 数据库名5.查询...

2019-01-18 10:39:51 147

空空如也

空空如也

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

TA关注的人

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