摘要: 属性设计 通常,方法代表操作而属性代表数据。属性像字段一样使用,这意味着属性不应进行复杂的计算,也不应产生副作用。有关属性设计的更多信息,请参见索引属性设计和属性更改通知事件。 下列准则可帮助确保正确地设计属性。 如果调用方不应当更改属性值,则要创建只读属性。 注意,属性类型的可变性会影响最终用户可以更改的内容。例如,如果定义一个返回读/写集合的只读属性,则最终用户不能向该属性分配其他集合,但可以修改该集合中的元素。 不要提供仅支持 Set 操作的属性。 如果无法提供属性 getter,可以改用一个方法来实现该功能。方法名称应以 Set 开头,并按原样后跟属性名。例如,AppDomain 使用一个名为 SetCachePath 的方法,而不是名为 CachePath 的仅支持 Set 操作的属性。 为所有属性提供适当的默认值,确保属性的默认值不会导致安全漏洞或设计效率非常低下。 允许按任意顺序设置属性,即便这样做会导致出现暂时无效的对象状态也如此。 如果属性 setter 引发异常,则保留以前的值。 避免从属性 阅读全文
posted @ 2007-06-05 16:07 xiaowy 阅读(695) 评论(0) 推荐(0) 编辑