java 设计模式
文章平均质量分 84
学渣的第六感
热爱生活,永不放弃
展开
-
JAVA iterator与iterator模式
Iterator 模式JAVA Collection 接口中有一个方法,iterator(),而Set,List,Queue都继承自Collection。由于对Collection对象的遍历需求,进而产生了iterator。这里介绍iterator模式及Java Iterator原创 2016-04-28 14:33:47 · 1251 阅读 · 0 评论 -
Java Comparator 和 Strategy模式
一引出问题场景:有五种水果,每个水果都有sweet(甜度)属性和sour(酸度)属性,我们现在需要对水果按照甜度排序。将所有水果置于一个ArrayList中,不采用Strategy时,对ArrayList进行封装,添加sort()方法,类图如下: 这种方法有两个主要问题1)sort()只能在这个类中应用,以后有其他需要排序的类时,需要重新实现排序2)如果需要更换排序算法,也原创 2016-04-29 10:52:30 · 1201 阅读 · 0 评论 -
Java Proxy类及代理模式 探究
代理模式:为其他对象提供一种代理,并以控制对这个对象的访问本文通过一个超市的场景对代理模式进行探究,希望可以抛砖引玉,与大家分享。场景有一个接口叫超市即Supermarket,所有的超市都要实现这个接口,超市这个接口有两个方法,buy()和sell(),buy()用来进货,sell()用来销售。常见的超市有Walmart(沃尔玛),Carrefour(家乐福)等。现在突然有一个需求原创 2016-05-14 23:36:44 · 2094 阅读 · 0 评论 -
java io -- FilterInputStream 与 装饰者模式
在上一篇文章中讲了FileInputStream本文将介绍一个特殊的输入字节流:FilterInputStream,以及与之相随的一个经典的设计模式,装饰者模式。在之前的文章中提到,InputStream的读取是以byte为单位的,但是我们日常中经常会读写其他类型的数据,当然,我们可以把读取出来的字节进行转码,转成我们需要的数据,那么能不能直接读取字符,int等数据呢?能,只需要利用Dat原创 2016-10-15 23:50:52 · 15944 阅读 · 2 评论