与我之前的一个问题部分相关,我有一个系统需要将复杂数据存储为字符串。我创建了一个包含所有这些对象的类,它具有一些解析逻辑,可以将所有属性编码为字符串,或者解码字符串以获取这些对象,而不是将这些字符串解析为各种单独的对象。这很好。这个问题不是关于解析器本身,而是关于我应该把解析逻辑放在哪里。将其作为属性还是方法更好?
那么,在实际运行代码方面,这些路径之间是否存在功能差异?还是它们基本上是等效的,然后归结为个人偏好或哪个看起来更好的选择?在这种问题中...哪个方式看起来更清洁?
在属性的情况下,比如public string DataAsString
,get访问器将包含将所有数据编码为字符串的逻辑,而set访问器将解码输入值并设置类实例中的所有数据。因为输入/输出确实是一个字符串,所以这似乎很方便。
Encode()
,它返回编码后的字符串。然后,构造函数本身将包含解码字符串的逻辑并要求字符串参数,或者我编写一个Decode(string str)
方法,该方法被单独调用。在任何情况下,它都将使用方法而不是属性。那么,在实际运行代码方面,这些路径之间是否存在功能差异?还是它们基本上是等效的,然后归结为个人偏好或哪个看起来更好的选择?在这种问题中...哪个方式看起来更清洁?