c# – 何时使用方法与属性进行类定义更好?
发布时间:2020-12-15 20:49:52 所属栏目:百科 来源:网络整理
导读:部分与 an earlier question of mine相关,我有一个系统,我必须将复杂数据存储为字符串.我没有将这些字符串解析为各种单独的对象,而是创建了一个包含所有这些对象的类,它有一些解析器逻辑将所有属性编码为字符串,或解码字符串以获取这些对象.这一切都很好,很
部分与
an earlier question of mine相关,我有一个系统,我必须将复杂数据存储为字符串.我没有将这些字符串解析为各种单独的对象,而是创建了一个包含所有这些对象的类,它有一些解析器逻辑将所有属性编码为字符串,或解码字符串以获取这些对象.这一切都很好,很好.这个问题不是关于解析器本身,而是关于我应该在哪里容纳解析器的逻辑.把它作为一种财产或一种方法是一个更好的选择吗?
对于属性,例如公共字符串DataAsString,get访问器将容纳将所有数据编码为字符串的逻辑,而set访问器将解码输入值并设置类实例中的所有数据.这似乎很方便,因为输入/输出确实是一个字符串. 在方法的情况下,一个方法是Encode(),它返回编码的字符串.然后,构造函数本身将容纳解码字符串的逻辑并需要字符串参数,或者我编写一个单独调用的Decode(string str)方法.在任何一种情况下,它都将使用方法而不是属性. 那么,就代码的实际运行而言,这些路径之间是否存在功能差异?或者他们基本上是等同的,然后归结为个人偏好的选择或哪个看起来更好?在那个问题中……无论如何哪个看起来更干净? 解决方法
没有功能差异;属性只是从行为角度看的get和set方法对.
但是,通常,属性应该是轻量级的.如果您的财产的吸气剂或设定者正在进行大量计算,那么通常鼓励将它们移动到方法中. 这有明显的例外(即ORM领域中的延迟加载,其中get可以触发数据库调用). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- react-native – React Native Prevent Double Tap
- ruby-on-rails – “DateTime.beginning_of_week =>:monda
- [ReactNative]ReactNative学习资源整合
- flash – DisplayObject的可见属性
- Oracle数据库基本操作——表空间管理
- xml – 是否为传统上没有空的坏习惯的元素编写自我关闭标签
- 如何用纯文本方式(XML)+HTTP协议调用Workday的web servic
- cocos2dx-js 鼠标事件管理器
- c# – 如何将VSTS编码的Ui脚本调用到QTP?
- iphone – CoreData实体和属性之间的关系