自定义博客皮肤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)
  • 问答 (1)
  • 收藏
  • 关注

原创 桥接设计模式13

一、定义 官方定义:桥接模式属于结构型设计模式,将抽象部分与实现部分分离,使它们都可以独立的变化。 将两种可以独立变化的抽象分离开来,让它们独立的变化。再通过组合者两个抽象,形成功能强大的组合类。 上述定义太专业了,我的理解是:一个抽象类中持有多个接口或抽象类的引用,抽象类可以有不同的子类,接口也可以有不同的实现类,将这些不同的子类与不同的...

2018-04-28 11:03:00 310

原创 门面设计模式12

一、定义 门面模式又称为外观模式,它是一种结构型模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 简单说,该模式把一个模块中的多个类的公共接口封装到一个“统一接口”中,而门面类拥有一个或多个这样的“统一接口”。再简单一点理解就是封装“流程”,简化调用。 最简单的例子就是一个电脑,封装了CPU、内存、...

2018-04-26 16:59:27 300

原创 代理设计模式10知识扩展----注解与AOP

一、 为什么写这篇文章 学习代理模式,横向学习了JDK动态代理,Cglib动态代理。然后学习代理模式在实际工作中的使用。现在工作中用来保存日志,使用cglib动态代理一个Controller类中的每一个方法。关于注解,我之前没有深入研究过,之前只是模仿着写过一些代码:使用自定义注解实现SpringMVC。现在已经工作了,应该增加更多的知识储备。废话不多说,开始记录。 ...

2018-04-20 17:57:28 466

原创 代理设计模式9--使用AOP风格的代理模式

代理模式归根结底,就是在操作真实对象的前后加入新的操作。通常的,在项目中,把业务逻辑代码与公共的事务进行分离。Spring中采用AOP来操作。下面开始介绍如何代理一个Controller类,为Controller加入额外的操作。 第一步:首先是加入依赖包,cglib动态代理的包,Controller类不能为final类哦,因为这个报过一次错。 ...

2018-04-19 18:31:20 328

原创 代理设计模式8--代理模式探索

写在最前面:关于代理模式,我准备写两篇博客。第一篇写基本的代理模式,并提供常用的代理工具类,第二篇在实战中如何使用代理模式----使用注解式AOP操作常用的Controller层代码。 另外推荐关于代理模式的深度好文: 谈谈JAVA的代理模式认识 一——为什么使用代理模式 java的动态代理机制详解 代理模式(...

2018-04-19 16:33:51 420

原创 从头开始学Oracle--------char与varchar2的区别

(1)oracle中char与varchar2的区别char的长度是固定的,比如char(20),存储”abc”,剩下用17字节用空格表示VARCHAR2的长度是可以变化的,varchar2(20)存储”abc”,只占用了3个长度,它表示它最大能存储20个字节的长度。虽然char空间占用的大,但是char的效率高于varchar2(2)...

2018-04-12 17:56:12 1379

原创 原型模式7

一、定义 官方定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 说的简单一点,就是对象的复制。 二、实现过程 1.实现Cloneable接口。 2.重写clone()方法,将clone()方法的修饰符修改为public,为了让别人包的环境中也能调用此clone()方法。 //细胞 public c...

2018-04-10 17:20:16 247

原创 建造者设计模式6

一、定义 官方定义:将一个复杂对象的构建和表示分离,使同样的构建过程可以创建不同的表示。 官方定义真的是....,好吧,让我来指点迷津。 二、建造者需要的几个角色 1.Product产品类。这个产品类比较复杂,内部有许多其它类的对象的引用,可以视为此产品类的逻辑上必不可少的“组成部分”。当我们要构造出此产品的时候,产品持有的其它引用也必须...

2018-04-09 17:00:17 356

原创 装饰设计模式5

一、定义 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 装饰模式与继承关系的目的都是要扩展对象的功能,但是装饰模式可以提供比继承更多的灵活性。装饰模式允许系统动态决定“贴上”一个需要的“装饰”,或者除掉一个不需要的“装饰”。继承关系则不同,继承关系是静态的,它在系统运行前就...

2018-04-08 17:45:23 277

原创 适配器设计模式4

一、定义 将一个实现类的接口转换成客户希望的另外一个接口。适配器模式(Adapter)使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 我的理解:让一个实现了A接口的类,可以用到接收B接口的方法上。 二、完全解耦 如果某个方法的参数是一个"类"的引用,而不是一个"接口"的引用的话,那么显而易见,我们传递的参数必须是这个类的对象或者...

2018-04-08 10:05:57 350

原创 工厂设计模式3

一、简单工厂模式 工厂模式核心:(抽象)工厂生产抽象产品。实际产品向上转型为接口。 简单工厂模式从名字就知道非常简单,它的代码体现就是一个工厂对象,根据不同的情况或者说是参数,使用条件语句判断,返回特定接口的实现类。 简单工厂模式代码三个主体:1.工厂类 2.抽象产品 3.具体产品 //用来生产手机的工厂...

2018-04-04 10:13:42 388

原创 在Idea中创建项目,直接提交到Git远程仓库步骤

因为这个问题,我恐怕累计已经浪费了我七八个小时。真的好烦,这次终于把步骤完全弄会了。现在就来记录怎么使用Idea来提交新创建的项目到GitHub上。参考地址:git上传本地Idea项目1.创建本地Git仓库        点击下面的红色按钮后,将项目名添加到本地仓库。        VCS-Import into Version Control - Create Git Repository2.提...

2018-04-03 16:39:27 5733 1

原创 策略设计模式2

一、基本定义 策略设计模式:“针对”一组算法,“将”每一个算法封装到具有相同接口的独立的类中,“从而”使它们可以相互替换。 核心:策略实现相同接口,可以相互替换。 二、目的 策略设计模式的重点不是如何实现算法,而是如何组织、调用这些算法。策略设计模式让程序的结构更加灵活,让系统具有更好的灵活性和扩展性,降低需求变动的维护成本。 ...

2018-04-03 09:34:21 446

原创 单例设计模式1

一、饿汉式 单例设计模式,简单说:一个类只有一个实例对象。 单例设计模式核心:因为内存、所以性能。 饿汉式是指,这个类一旦加载,这个类的实例就被创建。而加载某个类到内存中由调用这个类的静态成员触发。单例模式里面的getInstance()就是静态方法。 饿汉式代码步骤:1.构造函数私有化,2.内部创建本类静态实例,3.对外提供...

2018-04-01 23:23:21 549

空空如也

空空如也

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

TA关注的人

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