自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 readme——设计模式

一、设计模式的分类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。**还有两类:并发型模式和线程池模式

2016-03-24 08:51:55 589

原创 解释器模式

解释器模式用来做各种各样的解释器,如正则表达式等的解释器等等,在OOP的开发中,使用度比较窄!/** * @author: muyichun * @date : 2016年3月23日20:37:26 * @function: 解释器模式 */public class Main{ public static void main(String[] args) { int r

2016-03-23 20:39:46 396

原创 中介者模式

中介者模式也是用来降低类类之间的耦合的,因为如果类类之间有依赖关系的话,不利于功能的拓展和维护,因为只要修改一个对象,其它关联的对象都得进行修改。如果使用中介者模式,只需关心和Mediator类的关系,具体类类之间的关系及调度交给Mediator就行,这有点像spring容器的作用!/** * @author: muyichun * @date : 2016年3月23日19:37:39

2016-03-23 20:11:10 432

原创 访问者模式

该模式适用场景:如果我们想为一个现有的类增加新功能,不得不考虑几个事情:1、新功能会不会与现有功能出现兼容性问题?2、以后会不会再需要添加?3、如果类不允许修改代码怎么办?面对这些问题,最好的解决方法就是使用访问者模式,访问者模式适用于数据结构相对稳定的系统,把数据结构和算法解耦,/** * @author: muyichun * @date : 2016年3月23日18:59:40

2016-03-23 19:32:13 425

原创 状态模式

核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。/** * @author: muyichun * @date : 2016年3月23日18:59:40 * @function: 状态

2016-03-23 19:02:50 373

原创 备忘录模式

Original类是原始类,里面有需要保存的属性value及创建一个备忘录类,用来保存value值。Memento类是备忘录类,Storage类是存储备忘录的类,持有Memento类的实例,该模式很好理解。/** * @author: muyichun * @date : 2016年3月23日18:35:52 * @function: 备忘录模式 */public class Ma

2016-03-23 18:38:37 373

原创 命令模式

Invoker是调用者(司令员),Receiver是被调用者(士兵),MyCommand是命令,实现了Command接口,持有接收对象!/** * @author: muyichun * @date : 2016年3月23日18:11:35 * @function: 命令模式 */public class Main{ public static void main(Strin

2016-03-23 18:36:27 472

原创 责任链模式

/** * * @author: muyichun * @date : 2016年3月23日17:24:38 * @function: 责任链模式 */public class Main{ public static void main(String[] args) { MyHandler h1 = new MyHandler("h1"); MyHandler h2

2016-03-23 17:26:33 409

原创 迭代子模式

迭代器模式就是顺序访问聚集中的对象,这个思路和我们常用的一模一样,MyCollection中定义了集合的一些操作,MyIterator中定义了一系列迭代操作。聚合对象,类似于手写集合。/** * * @author: muyichun * @date : 2016年3月23日16:47:03 * @function: 迭代子模式 */public class Main{

2016-03-23 17:02:37 417

原创 观察者模式

import java.util.Enumeration;import java.util.Vector;/** * * @author: muyichun * @date : 2016年3月23日15:07:32 * @function: 观察者模式 */public class Main{ public static void main(String[] args)

2016-03-23 16:40:21 358

原创 模板方法模式

一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用。/** * * @author: muyichun * @date : 2016年3月23日15:07:32 * @function: 模板方法模式 */public class Main{ public stat

2016-03-23 16:35:35 434

原创 策略模式

策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。/** * * @author: muyichun * @date : 2016年3月23日14:38:59 * @function: 策略模式 */public class Main{ public static

2016-03-23 14:42:07 383

原创 享元模式

import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Vector;public class ConnectionPool { private Vectorpool = null; private String url = "

2016-03-23 11:36:37 399

原创 组合模式

组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便,将多个对象组合在一起进行操作,常用于表示树形结构中,例如二叉树,数等。import java.util.Enumeration;import java.util.Vector;/** * * @author: muyichun * @date : 2016年3月23日10:26:06 * @function:

2016-03-23 11:11:58 570

原创 桥接模式

/** * * @author: muyichun * @date : 2016年3月23日10:06:26 * @function: 桥接模式 */public class Main{ public static void main(String[] args) { Bridge bridge = new MyBridge(); //调用第一个对象 Source

2016-03-23 10:08:26 428

原创 外观模式

/** * * @author: muyichun * @date : 2016年3月23日09:34:48 * @function: 外观模式 */public class Main{ public static void main(String[] args) { Computer computer = new Computer(); computer.start

2016-03-23 09:36:12 360

原创 代理模式

如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法:1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是代理模式。使用代理模式,可以将功能划分的更加清晰,有助于后期维护!/** * * @author: muyichun * @date : 2016年3月23日

2016-03-23 09:23:45 366

原创 装饰模式

装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例!/** * * @author: muyichun * @date : 2016年3月23日08:59:05 * @function: 装饰模式 */public class Main{ public static void main(String[

2016-03-23 09:00:55 388

原创 适配器模式

适配器模式分为三种:1.类的适配器模式2.对象的适配器模式3.接口的适配器模式/** * * @author: muyichun * @date : 2016年3月22日16:11:11 * @function: 适配器模式 */public class Main{ public static void main(String[] args) { A

2016-03-22 18:06:16 435

原创 原型模式

克隆、复制一个类,分为:浅克隆、深克隆。浅克隆:该类的成员对象的引用还是原来对象的引用。深克隆:该类是复制的全新的一个类。import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStre

2016-03-22 15:47:33 420

原创 建造者模式

建造者模式    工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性!import java.util.ArrayList;import java.util.List;/** * * @author: muyichun * @date : 2016年3月22日10:49:47 * @fu

2016-03-22 14:54:59 394

原创 打印蛇形和顺序方阵—题解

import java.text.DecimalFormat;/** * * @author: muyichun * @date : 2016-3-14下午2:36:32 * @function:顺序打印方阵 */public class Main1 { public static void main(String[] args) { int rank = 3;

2016-03-14 21:09:01 625

空空如也

空空如也

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

TA关注的人

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