目标 :
1. 简单工厂
2. 序列化
一. 简单工厂
1. 理解:是工厂模式中的一种产生产品的方法是工厂类的静态方法。根据参数的不同在
一系列产品中返回合适的对象。
2. 示意图
3. 示例
二. 序列化
1. 理解:将对象状态转换为可保持或传输的格式的过程。
2. 分类:
1) 二进制
1.特点:二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状
态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。我们
可以将对象序列化到流、磁盘、内存和网络等等。
2.示例:
System.Runtime.Serialization.IFormatter formatter = new
BinaryFormatter();
Person p = new Person(1, "cat");
Stream stream = new FileStream("1.bin", FileMode.Create,
FileAccess.Write);
formatter.Serialize(stream, p);
2) XML 序列化
1.特点:XML 序列化仅序列化公共属性和字段,且不保持类型保真度。由于 XML 是一
个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。(例如:Web
Service)
2.示例:
Person p = new Person(2, "dog");
XmlSerializer xmls=new XmlSerializer(typeof(Person));
StreamWriter sw = new StreamWriter("2.bin");
xmls.Serialize(sw, p);
注意:Person必须要有无参数的构造函数
三. 反序列化
四. 二进制反序列化
IFormatter f = new BinaryFormatter();
Stream s = new FileStream("1.bin", FileMode.Open, FileAccess.Read);
评论0