一、模拟BufferedReader
自定义MyBuffereaReader
对于缓冲区而言,里面其实就是封装一个数组,对外提供方法对数组的操作,这些方法最终操作的都是数组的角标
原理:从源中取出数据存入缓冲区,再从缓冲区不断的取出数据,取完后,继续从源中继续取数据,进缓冲区,直至源中的数据取完,用-1做为结束标记
import java.io.*;
class MyBufferedRea...
分类:
编程语言 时间:
2014-10-25 20:11:50
阅读次数:
247
装饰设计模式装饰设计模式动态的添加一些行为和任务到一个对象中且不需要去修改它的代码。当然你也可以选择用继承的方式-通过包装成另一个对象去改变它的行为。在objective-c中由两个非常常用的实现方式:分类和代理。(Category,Delegate)Category分类是一种非常有用的机制,..
分类:
其他好文 时间:
2014-10-25 02:05:09
阅读次数:
252
装饰设计模式:当需要对某些类功能进行增强时,可以把这个类的对象传到自定义类中,然后利用此对象具备的方法在此基础之上进行功能的增强。与继承的区别:扩展性强一些代码举例:import java.io.*;class MyBufferedReader{ private FileReader file...
分类:
其他好文 时间:
2014-09-29 12:32:27
阅读次数:
145
使用了装饰设计模式:此类的设计是为了提高流操作数据的效率。思想就是定义容器将数据进行临时存储,对于缓冲区对象,其实就是将这个容器进行了分装,并提供了更高效的操作方法。原理; 1,使用流的read方法从源中读取一批数据存储到缓冲区的数组中。 2,通过计数器记录住存储的元素个数。 3,通过数组的角标来获...
分类:
编程语言 时间:
2014-09-04 00:04:47
阅读次数:
285
装饰设计模式:又名包装模式(Wrapper),以对客户端透明的方式扩展对象的功能,是继承关系的一种替代关系。装饰模式以对客户端透明的方式动态的给一个对象附加上更多的责任。换言之,客户端不会觉得在装饰前和装饰后有什么不同。下面看装饰设计模式的UML类图: 在装饰模式中的各个角色:抽象构件Comp...
分类:
其他好文 时间:
2014-08-28 14:46:30
阅读次数:
179
一、概念 当想要对已有的对象进行功能增强时,可以自定义类,将已有对象传入,基于现有的功能,并加强功能。 装饰类通常会通过构造方法接受被修饰的对象。 二、例子 class Person { public void eat(){ sysout(“I am eating”); } } class Pers...
分类:
其他好文 时间:
2014-07-22 00:04:35
阅读次数:
176
??
/*
* 装饰设计模式:
*
对一组对象的功能进行增强时,就可以使用该模式进行问题的解决;
* 装饰和继承都能实现一样的特点: 就是进行功能的扩转增强。
*
*/
public class TestIO4
{
public static void main(String[] args)
{
Person...
分类:
编程语言 时间:
2014-07-08 16:45:11
阅读次数:
165
一、Filter的部署——注册Filter testFitler
org.test.TestFiter word_file /WEB-INF/word.txt 1、用于为过滤器指定一...
分类:
编程语言 时间:
2014-05-27 01:37:02
阅读次数:
310
看了几集毛骗( 不是毛片 是毛骗) 就11点了..
给爱用继承的人一个全新的设计眼界. 在不修改现有代码的情况下.扩展行为.
>. 装饰者和被装饰者对象有相同的超类型.
>. 你可以用一个或多个装饰者包装一个对象.
>. 既然装饰者和被装饰者对象有着相同的超类型,所以在任何需要原始对象(被包装)的场合,可以用装饰过的对象代替它.
>.(关键点)装饰者可以在所委托被装饰...
分类:
其他好文 时间:
2014-05-15 05:51:26
阅读次数:
217
package ioTest.io2;
import java.io.FileReader;
import java.io.IOException;
/*
* 自定义的BufferedReader类
* MyBufferedReaderDemo:也是为了提高对流的操作性能。
* 所以构造函数中应该将流传入
*
* --------拓展:装饰设计模式
* 装饰设计模式是28种设计模...
分类:
编程语言 时间:
2014-05-03 17:42:26
阅读次数:
258