- 博客(16)
- 收藏
- 关注
原创 CSDN怎么找收藏的文章和关注的人
收藏的文章 my.csdn.net/my/favorite关注的人 http://my.csdn.net/my/follow
2018-07-28 13:18:37
814
原创 外观(Facade)模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 比如下面这种图 用户如果想调用模块A,模块B,模块C,本身不需要了解这三个模块,只需调用facade,让其去执行。那么Facade就是这几个模块的门面,即外观模式。 外观模式 以电脑开机关机为例 ...
2018-06-28 18:33:05
357
原创 组合模式
组合模式(Composite Pattern),是用于把一组相似的对象当作一个单一的对象。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 下面这张图 我们可以把这个图理解为一个大容器(文件夹),里面有容器对象和文件对象。但是这些容器对象和文件对象分别具有不同的功能,这就要求我们在使用它的时候需要区分它是容器对象还是文件对象。作为客户端肯定希望能一致对待这两种对象。这就...
2018-06-28 17:36:32
221
原创 观察者(Observer)模式
使用目的: 对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。在一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 关键代码:需要有一个list来存放观察者们。下面用代码来说明吧 观察者模式 首先创建观察者接口类//观察者接口类public abstract class Observer {...
2018-06-28 16:26:06
210
原创 装饰者(Decorator)模式
装饰者模式是允许向一个新对象添加新的功能,但又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 就增加功能来说,装饰器模式相比生成子类更为灵活。 例子: 如果我们去咖啡店,有一种咖啡,该咖啡可以加糖,牛奶,奶泡等等,如果我们需要加糖和牛奶,常规的写法就是分别继承糖的接口和牛奶的接口,然后实现。但是如果添加种类很多的话,就会形...
2018-06-26 20:02:58
386
原创 代理(Proxy)模式
代理模式是用一个新对象来实现真实对象的操作,这个新对象就叫做代理对象。代理模式就是给一个对象提供一个代理,并由代理对象控制对原对象的引用。 代码实现要点: 1、代码对象和真实对象要继承相同的接口,保证他们操作的一致性。 2、代理对象做的任何行为实质上都是在操作原对象进行。代理模式 说定义不如上代码。 想必大家看到喜欢的女生肯定想追到手啊,嘿嘿,小方法肯定有送礼物,说好话等等,但是...
2018-06-26 17:11:25
247
原创 过滤器(Filter)模式
过滤器模式也是一种结构型模式,它允许我们使用不同的规则过滤某一组对象。 首先创建一个实体类Person,分别拥有年龄、性别、地址三个属性,用于相亲,嘿嘿。。public class Person { private int age; private String sex; private String address; public int getAge...
2018-06-26 16:22:48
446
原创 原型模式
原型模式是用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。是不是很难理解?其实简单一句话就可以基本上概括它了:本身就是克隆,通过克隆的方式来获取一个新对象。 原型模式有两种克隆方式:浅克隆和深克隆两种 浅克隆有一个Person类,它有age和name两个属性:public class Person implements Cloneable { priv...
2018-06-25 20:55:45
111
原创 单例模式
单例模式 单例模式是指一个类只能有一个实例,比如一台电脑可能有多台打印机,但是只能有一个printf对象,如果有多个对象,可能会出现打印顺序混乱的问题。单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。不管它实现何种功能,整个应用程序都会同享一个实例对象。单例模式一般都两种:饿汉模式...
2018-06-25 19:23:47
167
原创 建造者(builder)模式
为什么使用builder模式 如果一个类有多个成员变量,那么我们创建该对象并为成员变量赋值的时候,代码将会变的很复杂。 比如一个Person1类,有id,name, age, address等四个属性(或者更多),一般我们的写法都会是public class Person1 { private int id; private String name; pri...
2018-06-25 17:31:17
258
原创 适配器模式
适配器模式 适配器的目的是保持两个接口的兼容性,能让原本因为接口不匹配不能一起工作的类能够协同工作。 如果我们使用手机充电,家庭使用的电压一般都是220V,但是手机一般只能接受5V或者10V的电压。那我们就需要一个转换器来使我们手机也能使用220V的电压。需要适配的类,对象,接口,我们称为src 适配后的输出为dst 中间的适配器是Adapter适配器模式一般都是有类适配器,对象适...
2018-06-22 20:13:10
162
原创 设计模式之简单工厂模式、工厂模式、抽象工厂模式介绍和区别
设计模式之简单工厂模式、工厂模式、抽象工厂模式**为什么使用工厂模式?**许多人都会很疑惑为什么使用工厂模式,觉得如果直接new一个对象使用更方便,代码量也更少。但是这种也会存在不少问题:1、代码不够解耦。如果我们在ClassA类中调用ClassB,那么classA会对ClassB依赖,使用工厂模式创建的时候可以使用工厂模式创建。2、管理复杂。如果一个对象创建起来很复杂,需要一定代码量,...
2018-06-21 11:54:25
304
原创 Maven项目的GroupID和ArtifactID
GroupID是指项目里面的标识,具体指对应的java的包结构,一般写法是com.mycom.myapp 其中mycom是指你公司的域名,例如com.google.myappArtifactID是指项目的标识,大白话就是你的项目名。例如下面这个例子 生成的项目是
2017-08-09 17:11:55
1049
转载 程序打成jar包路径不对、找不到配置文件的解决
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码://源代码1: package edu.hxraid; import java.io.*; public class Resource { public void
2017-08-09 17:02:05
13765
1
原创 使用eclipse、命令行将程序发布jar包
将使用eclipse或者命令行将程序打成jar包 一、使用eclipse将程序打成jar包 在eclipse中右键程序,选择export–>java–>runnable JAR file 其中在Launch confinguration选项选择你的你要运行的主函数所在的类名,Export destination选项中选择你的jar存放位置,点击finish,一直向下就行,最后会给出一些警告,可
2017-08-08 20:46:38
1008
原创 mybatis generator无法将数据表中text字段映射问题
重点内容# 欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键mybatis generator无法将数据表中text字段映射问
2017-08-08 17:54:37
5216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人