一个常用的工具:Mapster
进行一些对象属性复制的时候很方便。跟基础库里的DeepCopy配置起来使用。
配置文件的保存:目前基本上还是使用XML为主。
尝试了HASH,JSON,YAML,最终还是感觉XML使用总体体量更好。
XML,可以直接保存类。
配置的结构和字段有更新的时候,不会报错,也不影响原有配置的读取。
YAML的话,配置结构有调整的时候,貌似多多少少还是有问题。
配置比较固定,不会调整的情况下,YAML还是可以的,本身语法比较简洁。
JSON的问题是,一些中文字符串会被转放,特别是文件路径之类的,手动改写配置的时候不是特别友好。
XML另外的优点是支持嵌套,比较复杂的配置,也没啥问题。并且官方的XML库就够好用。
PropertyChanged.Fody和ReactiveUI都是常用库。
PropertyChanged.Fody让属性这些更简洁。
ReactiveUI的话,对于一些需要属性关联、联动操作的非常友好。并且支持一些延迟操作,我经常使用一个功能就是搜索框的输入,变化500ms以后,才去进行搜索的操作。