ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

2007年2月2日 #

摘要: 你可以通过密封成员的方式来限制开发者对你的库的扩展方式。在你密封一个类的时候,其他类就不能够从它那里继承。在你密封一个成员的时候,派生类就不能够重载该成员的实现。默认时你不应该密封任何类型和成员。密封可以防止针对于库类型和成员的定制,并且会影响一些开发者对于可用性的理解。另外,可扩展性是使用面向对象框架的一种基本利益。你应该不要随意地对这种利益进行约束。 阅读全文
posted @ 2007-02-02 16:55 Laeb 阅读(395) 评论(0) 推荐(0)

摘要: 抽象化实现的基类是被设计成用来协助开发者实现抽象类和接口(抽象化)的类。它们为抽象化而提供了实现的细节并且在一些情况下它们是不需要进行继承就是能够被使用的。例如,Collection 能够被用来创建一个集合或者能够被继承来定义一个被强类型化的集合类。 阅读全文
posted @ 2007-02-02 16:54 Laeb 阅读(371) 评论(0) 推荐(0)

摘要: 抽象类型与接口都是用来指定可编程抽象化的机制。抽象化指定了继承者或实现者都必须坚持的约定。抽象类型能够拥有对提供实现细节的选择权;而接口则不能够提供任何的实现细节。 阅读全文
posted @ 2007-02-02 16:53 Laeb 阅读(218) 评论(0) 推荐(0)

摘要: 虚拟(在 Visual Basic 中是 Overridable)成员允许你通过提供不同的成员实现来改变成员的行为。它们通常在需要该类的派生类来处理给定的特殊情节时被使用。例如,WebRequest 类为了把请求发送到任何通用资源标识符(URI)而定义了功能。而 FtpWebRequest 类就是 WebRequest 的派生类,后者通过重载前者的虚拟方法来处理把请求发送到使用了文件传输协议(FTP)结构的 URI 中。 阅读全文
posted @ 2007-02-02 16:52 Laeb 阅读(315) 评论(0) 推荐(0)

摘要: 回调方法是一种在操作或行为被完成的时候通过委托而自动被调用的方法。例如,一个异步设计模式使用了被称作 AsyncCallback 的委托来指定在异步操作被完成的时候所执行的代码。这个设计模式被用在 BeginWrite 方法中,这个方法使用一个回调来处理来自于异步写入操作的结果。 阅读全文
posted @ 2007-02-02 16:51 Laeb 阅读(610) 评论(0) 推荐(0)

摘要: 未被密封的类中的被保护成员能够给予开发者一种方式来定制类的行为。例如,用来触发事件的方法经常以被保护的方式而被定义并且允许派生类在事件被触发之前或在事件已触发之后来提供附加的处理。 阅读全文
posted @ 2007-02-02 16:50 Laeb 阅读(230) 评论(0) 推荐(0)

摘要: 未密封的类允许其他的类从它那里进行继承。许多其他的可扩展性机制(如被保护的成员和虚拟成员)都需要一个未被密封的类。这些附加的机制添加了一种强大的方式来添加或自定义类型的功能,但是需要付出重大的代价。未被密封的类在许多开发情节中是有用的,即使它没有附加的可扩展性机制。 阅读全文
posted @ 2007-02-02 16:49 Laeb 阅读(230) 评论(0) 推荐(0)