我有一个允许人们编辑数据库中的数据的 winform,为了简化事情,假设数据库中有一个 Customer 表,其中包含 3 个字段 - 名称、城市、国家。通过 winform(s) 人们可以添加/编辑/删除客户。
对于这些操作中的每一个,我们需要保存:
字段名称是什么(在这种情况下为名称、城市、国家)
字段值在修改之前是什么
修改后的字段值是什么。
如果操作是添加或删除,则 2 和 3 将相同。
我已经使用 XMLSerialisation 实现了这个(但没有使用任何设计模式),我的 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>
该解决方案可以处理具有不同数量字段的系统的不同区域(例如,当您修改产品时,同样的事情会起作用)。
我的问题是,是否有一个定义明确的设计模式来处理这种行为?
非常感谢