boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DotNet版 - 问个基础问题
相关主题
请问可能对C# dataSet作query吗?
一道mcad考试题求解(有关DataAdapter)
datagrid help
How to Call Stored Procedure in C# .Net?
A puzzle of using OPD
小菜鸟求助,PDF header signature not found
.net操作数据库的方法,哪个最好?
Bulk merge?
C# DateTime to Oracle Date
DataTable.NewRow的primary key初始为0的问题
相关话题的讨论汇总
话题: collection话题: array话题: cancel话题: edit话题: pattern
进入DotNet版参与讨论
1 (共1页)
s***n
发帖数: 10693
1
.net的
对某collection就行处理,处理前备份成array,如果处理过程中user cancel了,
recover这个collection from array
现有的实现方式是,user cancel后,remove everything from collection, 然后从
backup array中重新导入。
导入方式是iterate through every item in array,collection里生成新的object,
做deep copy. 结果这个deep copy过程有个bug,今天fix bug时,同事说你顺便把整个
流程改改吧,不要先全删再重加,只synchronize前后不一致的部分。
很让人费解,这样做的目的是什么,俺怎么完全看不出好处?
c**t
发帖数: 2744
2
This is not data structure but a design pattern. You need check "Command
Pattern"

【在 s***n 的大作中提到】
: .net的
: 对某collection就行处理,处理前备份成array,如果处理过程中user cancel了,
: recover这个collection from array
: 现有的实现方式是,user cancel后,remove everything from collection, 然后从
: backup array中重新导入。
: 导入方式是iterate through every item in array,collection里生成新的object,
: 做deep copy. 结果这个deep copy过程有个bug,今天fix bug时,同事说你顺便把整个
: 流程改改吧,不要先全删再重加,只synchronize前后不一致的部分。
: 很让人费解,这样做的目的是什么,俺怎么完全看不出好处?

s***n
发帖数: 10693
3
不是design pattern的问题,可能我没说清楚。
Collection是逻辑层的对象,用户ui对collection直接进行操作,可能会增加entry,
可能会remove entry,也可能edit entry。
用户在ui的操作对collection即时生效,但是他们最后可能click cancel,这样刚才所
有的操作都必须复原。
我觉得全部清空,再从backup导入不错,反而是他说只sync不一致的部分,这种方法
cost比较高,因为这不只是多一个少一个entry的问题,每个entry都可能被更新过,总
是要全部update的,没想明白有啥好处。

【在 c**t 的大作中提到】
: This is not data structure but a design pattern. You need check "Command
: Pattern"

s***n
发帖数: 10693
4
而且伊提议用hashtable
真没看出这里用hashtable有任何的好处……

【在 s***n 的大作中提到】
: 不是design pattern的问题,可能我没说清楚。
: Collection是逻辑层的对象,用户ui对collection直接进行操作,可能会增加entry,
: 可能会remove entry,也可能edit entry。
: 用户在ui的操作对collection即时生效,但是他们最后可能click cancel,这样刚才所
: 有的操作都必须复原。
: 我觉得全部清空,再从backup导入不错,反而是他说只sync不一致的部分,这种方法
: cost比较高,因为这不只是多一个少一个entry的问题,每个entry都可能被更新过,总
: 是要全部update的,没想明白有啥好处。

c**t
发帖数: 2744
5
Given editable grid as an example: cell x: original value is a;
1st edit => b;
2nd edit => c; then cancel; will you restore with a or b?

【在 s***n 的大作中提到】
: 不是design pattern的问题,可能我没说清楚。
: Collection是逻辑层的对象,用户ui对collection直接进行操作,可能会增加entry,
: 可能会remove entry,也可能edit entry。
: 用户在ui的操作对collection即时生效,但是他们最后可能click cancel,这样刚才所
: 有的操作都必须复原。
: 我觉得全部清空,再从backup导入不错,反而是他说只sync不一致的部分,这种方法
: cost比较高,因为这不只是多一个少一个entry的问题,每个entry都可能被更新过,总
: 是要全部update的,没想明白有啥好处。

s***n
发帖数: 10693
6
user按cancel或ok才算一次结算。
如果结算在1st edit和2nd之间,then surely restore with a

【在 c**t 的大作中提到】
: Given editable grid as an example: cell x: original value is a;
: 1st edit => b;
: 2nd edit => c; then cancel; will you restore with a or b?

s***n
发帖数: 10693
7
比如窗口打开前前备份为a, b, c
结算后可能是b,d, 也有可能是a*, e
星号代表修改过的value

【在 s***n 的大作中提到】
: user按cancel或ok才算一次结算。
: 如果结算在1st edit和2nd之间,then surely restore with a

a9
发帖数: 21638
8
先clone出一个来行吗?

【在 s***n 的大作中提到】
: 比如窗口打开前前备份为a, b, c
: 结算后可能是b,d, 也有可能是a*, e
: 星号代表修改过的value

c**t
发帖数: 2744
9
use datatable, you can handle only changes or reject all changes (restore to
original)

【在 s***n 的大作中提到】
: user按cancel或ok才算一次结算。
: 如果结算在1st edit和2nd之间,then surely restore with a

M******k
发帖数: 27573
10
反正要是我,估计也是清了collection从头再来的.
1 (共1页)
进入DotNet版参与讨论
相关主题
DataTable.NewRow的primary key初始为0的问题
请教一下MVC的View如何显示动态column的问题
please help me...
请问C#中如何update hashtable中的value?
Which one is faster
LinkedList有用吗?
请问.Net相关的工作,面试是什么风格的?
请问arraylist的问题。
请教:是否可以overwrite session variable里面的item.
请问如何导入以前装的MSDN
相关话题的讨论汇总
话题: collection话题: array话题: cancel话题: edit话题: pattern