写这些也许有人认为“为了模式而模式”。Insus.NET所想到的,每个大师成为大师之前,也许都得这样做。
走路,从小就开始学,直至现在,谁还不是为了走路而走路?一直重复着......
很多人没有分享自己的经验,分享自己的过程,分享这东西,它不会因为分享而变少了......
感动的故事,是因为分享了历程而让人感动......
设计模式,在ASP.NET开发过程中,确实很多环境应用得到,也许只因为时间与效率问题,使用了最直接的方法来解决了。往往给以来的维护带来了繁杂变得难以进行。
进入主题,先看看这篇《Mouse点击之后,复制GridView控件的数据行》http://www.cnblogs.com/insus/p/3680461.html 用户点击所在行进行复制。其实其实现的方法,是对原有数据进行过滤。
原型的设计模式中,是对原对象进行克隆。
宣告一个抽象类或是接口,其中有一个方法,就是克隆自己:
创建一个容器,存储所有处理的对象:
实际对象中要实作原型抽象类:
下面是点击行时,复制对象:
最终结果:
上面的方法,选择行,复制一个,如果把选择的均保存起来:
演示,此次只要点一点,就复制一个:
但是,或许你需要的是,点击一次克隆一次,曾经选择过的,不再存储:
实时演示,不管点选多少次,只存储一个对象:
源代码下载:
http://download.cnblogs.com/insus/CSharpNET/prototype_pattern.rar