寫這些也許有人認(rèn)為“為了模式而模式”。Insus.NET所想到的,每個(gè)大師成為大師之前,也許都得這樣做。
走路,從小就開(kāi)始學(xué),直至現(xiàn)在,誰(shuí)還不是為了走路而走路?一直重復(fù)著......
很多人沒(méi)有分享自己的經(jīng)驗(yàn),分享自己的過(guò)程,分享這東西,它不會(huì)因?yàn)榉窒矶兩倭?.....
感動(dòng)的故事,是因?yàn)榉窒砹藲v程而讓人感動(dòng)......
設(shè)計(jì)模式,在asp.net開(kāi)發(fā)過(guò)程中,確實(shí)很多環(huán)境應(yīng)用得到,也許只因?yàn)闀r(shí)間與效率問(wèn)題,使用了最直接的方法來(lái)解決了。往往給以來(lái)的維護(hù)帶來(lái)了繁雜變得難以進(jìn)行。進(jìn)入主題,先看看這篇《Mouse點(diǎn)擊之后,復(fù)制GridView控件的數(shù)據(jù)行》http://www.companysz.com/insus/p/3680461.html用戶點(diǎn)擊所在行進(jìn)行復(fù)制。其實(shí)其實(shí)現(xiàn)的方法,是對(duì)原有數(shù)據(jù)進(jìn)行過(guò)濾。原型的設(shè)計(jì)模式中,是對(duì)原對(duì)象進(jìn)行克隆。
宣告一個(gè)抽象類或是接口,其中有一個(gè)方法,就是克隆自己:
創(chuàng)建一個(gè)容器,存儲(chǔ)所有處理的對(duì)象:
實(shí)際對(duì)象中要實(shí)作原型抽象類:下面是點(diǎn)擊行時(shí),復(fù)制對(duì)象:
最終結(jié)果:
上面的方法,選擇行,復(fù)制一個(gè),如果把選擇的均保存起來(lái):
演示,此次只要點(diǎn)一點(diǎn),就復(fù)制一個(gè):
但是,或許你需要的是,點(diǎn)擊一次克隆一次,曾經(jīng)選擇過(guò)的,不再存儲(chǔ):
實(shí)時(shí)演示,不管點(diǎn)選多少次,只存儲(chǔ)一個(gè)對(duì)象:
源代碼下載:http://download.VEVb.com/insus/CSharpNET/prototype_pattern.rar
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注