私は、データベースのデータを編集できるWinFormを持っています。これは、名前、都市、国の3つのフィールドを持つCustomerテーブルがデータベースにあると仮定して単純化するためです。WinFormを介して、顧客を追加/編集/削除できます。
これらのアクションのそれぞれについて、保存する必要があります。
フィールド名は何ですか(この場合はName、City、Country)
変更前のフィールド値は何でしたか
変更後のフィールド値は何ですか。
アクションが追加または削除の場合、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>
このソリューションは、フィールドの数が異なるシステムのさまざまな領域を処理できます(つまり、たとえば製品を変更する場合も同じことが機能します)。
私の質問は、この種の動作に対処するための明確に定義されたデザインパターンはありますか?
どうもありがとう