Proxy 为其他对象提供一个代理(surrogate)或者占位符(placeholder),从而完成对其他对象的访问。
2007-01-05 22:53
806 查看
using System;
2using System.Data;
3
4namespace DataLayer
5using System;
2using System.Data;
3using DataLayer;
4
5public class LimitingReader : DataReaderProxy
9using System;
2using System.Data;
3using System.Data.OleDb;
4using System.Reflection;
5using System.IO;
6
7namespace Gof.Test.Proxy
8 string sel = "SELECT * FROM ROCKET";
2 Gof.Test.Proxy.DataService.GetDataReader(sel, new Gof.Test.Proxy.BorrowReader(GetNames));
3
4 private static Object GetNames(System.Data.IDataReader reader)
5 {
6 System.Data.IDataReader proxy = new LimitingReader(reader);
7 while (proxy.Read())
8 {
9 Console.Write("{0,10} ", proxy["Name"]);
10 Console.Write("{0,7:C} ", proxy["price"]);
11 Console.Write("{0,5}", proxy["apogee"]);
12 Console.WriteLine();
13 }
14 Console.ReadLine();
15 return null;
16 }
2using System.Data;
3
4namespace DataLayer
5using System;
2using System.Data;
3using DataLayer;
4
5public class LimitingReader : DataReaderProxy
9using System;
2using System.Data;
3using System.Data.OleDb;
4using System.Reflection;
5using System.IO;
6
7namespace Gof.Test.Proxy
8 string sel = "SELECT * FROM ROCKET";
2 Gof.Test.Proxy.DataService.GetDataReader(sel, new Gof.Test.Proxy.BorrowReader(GetNames));
3
4 private static Object GetNames(System.Data.IDataReader reader)
5 {
6 System.Data.IDataReader proxy = new LimitingReader(reader);
7 while (proxy.Read())
8 {
9 Console.Write("{0,10} ", proxy["Name"]);
10 Console.Write("{0,7:C} ", proxy["price"]);
11 Console.Write("{0,5}", proxy["apogee"]);
12 Console.WriteLine();
13 }
14 Console.ReadLine();
15 return null;
16 }
相关文章推荐
- 设计技巧27:代理 Proxy 为另外一个对象提供替身或者站位符以控制对对象的访问
- 结构型模式01-代理模式(为其他对象提供一种代理以控制这个对象的访问)
- 为其他对象提供一种代理以控制对这个对象的访问-代理模式
- 使用Hibernate.initialize(Object obj)方法初始化一个代理对象或者集合
- 为什么一个对象调用的类方法可以访问该类其他对象的私有成员
- Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
- Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本流,从而实现对流的读、写和管理等操作.
- 记一个http-proxy-middleware 代理访问nginx映射的接口不通过的问题(connection close)
- Iterator 提供一种方法顺序访问一个对象中各个元素,而又不需要暴露该对象的内部表示
- nginx禁止用户访问隐藏文件和.htaccess文件 .htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以
- 如何创建一个ContentProvider,提供给其他App访问
- 对用父类指针(或引用)指向父类对象和子类对象时,从而用父类指针或者引用访问成员时的深刻理解;
- C++中提供了多种基本的数据类型。实际上,这些远不能满足我们的需求,如复数(第10章的例子大多是处理虚数的),再如分数。本任务将设计一个简单的分数类,完成对分数的几个运算。一则巩固基于对象编程的方法,
- 迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。
- Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。
- tfs2012报错TF204017,没有访问工作区域,需要一个或者多个必须权限
- 如何让对象只在堆或者栈中分配空间ANDC++禁止一个类被继承
- ArrayAccess(数组式访问)接口,你有一个对象,但是你希望能将其看作一个数组
- Android 内容提供器---创建内容提供器(Intent对象和数据访问)
- ALTER TABLE 修改表时 因为有一个或多个对象访问此列