MyException - 我的异常网
当前位置:我的异常网» C# » 【是不是可以用属性代替方法,有何利弊】

【是不是可以用属性代替方法,有何利弊】(2)

www.MyException.Cn  网友分享于:2013-02-21  浏览:5次

如果说到属性中过于“充血”的弊端,其实也很多例子。究其原因就是“功能抖动”的问题。

这往往跟不同框架也有关系。例如asp.net的机制是“一次次下载html”的机制,假设一个对象有10个属性,你是否会在任意一个属性被修改时立刻去重新DataBind整个页面呢?还是修改了所有属性之后仅仅在下载html之前的某个事件中才去执行一次页面DataBind呢?前者就可以在属性中调用DataBind,而后者就要把DataBind移出来,另外循着页面生命期的其它机关去部署这个DataBind语句。

显然,假设框架比较死(不能灵活地在客户端所见即所得),或者问了其它设计原因,你需要避免在属性中调用方法,而是在它应该被执行的时候才被执行。
------解决方案--------------------
再举一个非常“喜欢”在属性中被调用的例子(实际上是触发事件,当然调用委托跟调用其它方法也差不多),就不多写了,看msdn:http://msdn.microsoft.com/zh-cn/library/system.componentmodel.inotifypropertychanged.aspx
------解决方案--------------------
引用:
没什么区别

http://www.cnblogs.com/flashicp/archive/2007/03/20/681287.html

但 属性充分体现了对象的封装性:不直接操作类的数据内容,而是通过访问器进行访问,即借助于get和set对属性的值进行读写;另一方面还可以对数据的访问属性进行控制

属性vs.函数

l       相似点

Ø ……


+1

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有