设为首页 加入收藏

TOP

动态类型序列化(三)
2019-09-17 18:55:11 】 浏览:115
Tags:动态 类型 序列化
fy="Sample">4</Data> </Value> </Element> <Element> <Key Type="System.String" Assembly="mscorlib" Classify="Sample">5</Key> <Value Assembly="RunnerTest" Type="RunnerTest.Common.TestModel" Classify="Custom"> <Name Type="System.String" Assembly="mscorlib" Classify="Sample">5</Name> <DataType Type="System.String" Assembly="mscorlib" Classify="Sample">5</DataType> <Data Type="System.String" Assembly="mscorlib" Classify="Sample">5</Data> </Value> </Element> </Value> </Element> <Element> <Key Type="System.String" Assembly="mscorlib" Classify="Sample">Other</Key> <Value Type="dynamic" Classify="Dynamic"> <Element> <Key Type="System.String" Assembly="mscorlib" Classify="Sample">Name</Key> <Value Type="System.String" Assembly="mscorlib" Classify="Sample">Test1</Value> </Element> <Element> <Key Type="System.String" Assembly="mscorlib" Classify="Sample">DataType</Key> <Value Type="System.String" Assembly="mscorlib" Classify="Sample">Test1</Value> </Element> </Value> </Element> </Data>

  

说明


最大的用处,你拿到一个对象未知的对象,并不需要知道他的实际类型,就可以进行持久化,并且读取出来之后能够还原到原始类型。


实现这部分我觉得在于以下几个点

1. 对元数据的充分理解
2. 对xml结构的充分理解
3. 需要一点写算法的能力


我觉得代码本身并不复杂,只要耐心单步调试都能看懂。

当然这个是有一定限制的:

1. 可读性不强,所以在需要从文件进行修改配置比较麻烦

2.不可跨系统,文件中类型从程序集加载不到时就会出错

3.性能不高.性能敏感的部分不太适合


所以这部分功能需要结合业务场景使用,在我这里,包含作业调度系统,统计系统,接口测试工具中有使用.

这其实特别想WSDL的Soap协议,文件中既包含元数据的说明,又包含数据本身.真个元数据变成也是一个做设计时候一个重要思想。

 

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇理解依赖注入和控制反转 下一篇RefulApi自动化测试~Hitchhiker的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目