与an earlier question of mine部分相关,我有一个系统,我必须将复杂数据存储为一个字符串。我不是将这些字符串解析为各种单独的对象,而是创建了一个包含所有这些对象的类,并且它具有一些解析器逻辑,将所有属性编码为字符串,或者解码字符串以获取这些对象。这很好,很好。这个问题不是关于解析器本身,而是关于解析器逻辑的位置。将它作为一种财产或作为一种方法是更好的选择吗?什么时候使用方法而不是类定义的属性?
在属性的情况下,说public string DataAsString
,所述get
存取将容纳所述逻辑来编码的所有数据转换为字符串,而set
存取将在类实例解码输入的值和设置的所有数据的。看起来很方便,因为输入/输出确实是一个字符串。
在方法的情况下,一种方法将是Encode()
,它返回编码的字符串。然后,构造函数本身可以存储解码字符串的逻辑并需要字符串参数,或者我写一个Decode(string str)
方法,它被单独调用。无论哪种情况,它都会使用一种方法而不是属性。
那么,有没有这些路径之间的功能差异,在代码的实际运行条件怎么样?或者它们基本上是否相同,然后归结为个人偏好选择还是哪个更好?而在那种问题中,哪一个看起来更清洁呢?
我完全同意! +1 – 2010-04-20 13:22:05