我有一个Winform,允许人们从数据库中编辑数据。为简化事情,假设数据库中有一个名为“客户”(Customer)的表格,其中有三个字段 - 姓名(Name)、城市(City)和国家(Country)。通过Winform,人们可以添加/编辑/删除客户。
对于每一种操作,我们需要保存以下内容:
1. 字段名称是什么(在这种情况下是Name,City和Country); 2. 修改前的字段值; 3. 修改后的字段值。
如果操作是添加或删除,则第二步和第三步将相同。
我已经使用XML序列化实现了此功能(但没有使用任何设计模式),我的XML输出如下所示。
该解决方案可以处理系统不同区域具有不同数量的字段(例如,修改产品时也适用相同的操作)。我的问题是,是否存在一种明确定义的设计模式来处理这种行为?非常感谢。
对于每一种操作,我们需要保存以下内容:
1. 字段名称是什么(在这种情况下是Name,City和Country); 2. 修改前的字段值; 3. 修改后的字段值。
如果操作是添加或删除,则第二步和第三步将相同。
我已经使用XML序列化实现了此功能(但没有使用任何设计模式),我的XML输出如下所示。
<?xml version="1.0" encoding="utf-8"?>
<ActivityItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<UserID>26</UserID>
<FormTitle>frmCustomer</FormTitle>
<Action>Edit</Action>
<Area>Customers</Area>
<TrackedActivity>
<FieldNames>
<string>Name</string>
<string>City</string>
<string>Country</string>
</FieldNames>
<PreValues>
<string>CompA</string>
<string>London</string>
<string>UK</string>
</PreValues>
<PostValues>
<string>CompB</string>
<string>Manchester</string>
<string>UK</string>
</PostValues>
</TrackedActivity>
<DateTimeStamp>2012-06-15T10:16:18</DateTimeStamp>
</ActivityItem>
该解决方案可以处理系统不同区域具有不同数量的字段(例如,修改产品时也适用相同的操作)。我的问题是,是否存在一种明确定义的设计模式来处理这种行为?非常感谢。