觉得很好的设计准则(摘自MSDN)
来源:互联网 发布:网络大电影剧本 编辑:程序博客网 时间:2024/05/25 01:35
接口定义实施者必须提供的一组成员的签名。接口不能提供成员的实现细节。例如,ICollection 接口定义与使用集合相关的成员。实现该接口的每个类都必须提供这些成员的实现细节。类可以实现多个接口。
类定义每个成员的成员签名和实现细节。Abstract(在 Visual Basic 中为 MustInherit)类的行为在某方面与接口或普通类相同,即可以定义成员,可以提供实现细节,但并不要求一定这样做。如果抽象类不提供实现细节,从该抽象类继承的具体类就需要提供实现。
虽然抽象类和接口都支持将协定与实现分离开来,但接口不能指定以后版本中的新成员,而抽象类可以根据需要添加成员以支持更多功能。优先考虑定义类,而不是接口。
在库的以后版本中,可以安全地向类添加新成员;而对于接口,则只有修改现有代码才能添加成员。 如果需要提供多态层次结构的值类型,则应定义接口。
值类型必须从 ValueType 继承,并且只能从 ValueType 继承,因此值类型不能使用类来分离协定和实现。这种情况下,如果值类型要求多态行为,则必须使用接口。
请考虑定义接口来达到类似于多重继承的效果。如果一个类型必须实现多个协定,或者协定适用于多种类型,请使用接口。例如,IDisposable 是由许多不同情况下使用的类型实现的。如果要求从基类继承的类可处置,会使类层次结构很不灵活。MemoryStream 等应从其父类继承基于流的协定的类,不可能还是可处置的。
有关设计指南的更多信息,请参见 Krzysztof Cwalina 和 Brad Abrams 编著、Addison-Wesley 于 2005 年出版的“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries”(《框架设计指南:可重用 .NET 库的约定、术语和模式》)。
- 觉得很好的设计准则(摘自MSDN)
- 异常设计准则(MSDN链接)
- 很好的寓言(摘自网络)
- 数据访问策略建议.DataSet&DataReader.(摘自msdn.写的很好!放在blog中了!)
- 加快 DHTML 的一组技巧(摘自MSDN)
- ASP.NET 的全球化体系结构(摘自MSDN)
- 无 Cookie 的 ASP.NET(摘自MSDN)
- ACM的算法(觉得很好,有层次感)
- 关于 _declspec 的用法1------摘自MSDN
- using语句的作用—摘自MSDN
- 关于 TreeView WebControl (摘自MSDN)
- .NET Remoting 体系结构评估(摘自MSDN)
- 使用客户端脚本(摘自MSDN)
- SQL SERVER 角色说明(摘自MSDN)
- CFileFind::GetFileName方法(摘自MSDN)
- 媒体结构(AM_MEDIA_TYPE structure)摘自MSDN
- ACM的算法(觉得很好,有层次感)
- WIKI的设计准则
- 看你能坚持几秒游戏
- VS2010 Beta1下Silverlight3试用手记
- 中级.NET开发人员
- VB調用水晶報表轉換成Pdf
- Americans Prefer Games to Movies
- 觉得很好的设计准则(摘自MSDN)
- 利用socket实现vc++与.NET进程间的通信
- 删除DataTable中列重复的行
- 多货位
- struts2.0的标签库(简介)
- SQL SERVER2000带端口连接
- struts2标签库总结
- 如何实现GPRS 拨号上网?
- 关于fedora10、ORACLE11、JAVA的一些记录