讨论控件封装问题,回复者有分~~
开发.net项目也不少了,但是还是没有自己封装的用户控件,比如用户管理方面的控件,每次做系统的时候都要重复的做这些无聊的工作,而且还给你带了麻烦,给系统也带来了缺陷,修修改改的情况很多,直到累的你眼睛发绿,心里发慌,现在我想我们应该要讨论一下这个问题了,以后如果遇到这些问题的时候我们就可以重用,拖过来用就可以了,现在我想把这个问题和大家探讨一下,大家是怎样封装自己的用户控件的(以用户控件为例说明),大家有无兴趣一起讨论一下???但是我觉得要做一个通用的完美的控件是很难的,可能是我封装的方法或者方式不行,总是觉得封装得不够好!~~~~
大家发表一下各自看法吧,谈谈自己平常是如果做的,互相学习下!!谢谢!!!
如果你是封装过别的控件或者组件也行,回复者有分~~ 呵呵
问题点数:100、回复次数:28Top
1 楼j_lei407(落日一笑)回复于 2006-03-07 11:19:39 得分 2
mark
study……Top
2 楼ThreadSharp(ThreadSharp V2006)回复于 2006-03-07 11:27:31 得分 10
可以借鉴JAVA中提出的MVC概念,尽可能的实现强内聚,松耦合;
所谓的好就是能在以后的项目开发中尽可能多的为你减少工作量,加快开发效率。
严格来说我认为没有唯一的标准,不同的行业、不同的系统可能封装的程度不一样,而且这些和开发人员的水平有直接关系。
注意平时积累,一年以后你会发现,你的抽象封装能力和现在比已经强的很多很多了,就是多练,多练才能积累经验。Top
3 楼yxred(清深)回复于 2006-03-07 12:26:14 得分 0
有同感,不过我一般没有考虑到做通用控件,因为别人早就做好了Top
4 楼Samen168(Code to coding)回复于 2006-03-07 12:56:25 得分 5
UI同一功能两次出现就提取为控件,我的选择,hoho
BZ同上...
...Top
5 楼fangyifeng(想吃老虎的猪)回复于 2006-03-07 13:07:58 得分 0
啊,困难!想得容易,做起来难!问过好几个同事。都说没封装过。Top
6 楼zhongkeruanjian(编程亮子)回复于 2006-03-07 13:12:04 得分 5
搞软件开发最忌讳的就是“想做又不敢做”Top
7 楼fangyifeng(想吃老虎的猪)回复于 2006-03-07 13:22:32 得分 0
恩,看来近来讨论的人比较少~~~Top
8 楼justok([热心-冲星])回复于 2006-03-07 13:31:24 得分 10
感觉控件也要适合自己公司的程序风格,特别是特殊的地方,则在控件中增加几个字段来处理Top
9 楼fangyifeng(想吃老虎的猪)回复于 2006-03-07 13:37:06 得分 0
问题是每个系统的数据访问方式都不一样,所以难得设计~~Top
10 楼hyena041(陷入自己的思维中,找不到自己了)回复于 2006-03-07 14:01:53 得分 10
个人的一点经验
由于控件的使用在不同的项目中并不竟相同,很多web项目,都使用自己的自定义控件
所有的控件需要提供的方法,也很难说清楚,不同的项目标准也就不同了
很多时候,我们在项目中,总是会碰到需要封装控件,但是,做成通用的,不同项目之间也需要的!我想实际意义并不大,个人感觉,不同项目,控件的特性并不相同,如果碰到以前有的,就直接将以前的代码拷贝过来,但是控件还是根据当前项目风格重画
但是以前做过的东西保留下来倒是很有必要
Top
11 楼xinggg(风之渡)回复于 2006-03-07 20:20:17 得分 10
封装也不是一定要装成一个吧,从小处开始封,尽量低耦合,总能用到一部分的,例如数据访问方式,可以和控件界面先分成,两者之间通过一个通用接口进行通信,这样每部分的改变都不会带来太大的影响Top
12 楼jhpxf(我是一是小小鸟,想要飞却飞不高。)回复于 2006-03-08 09:11:34 得分 10
恩,确实,做这个是挺难的,主要是刚开始没有实际经验,做起来超级累了,我现在也是什么都不会,就一个三层结构就头大了。群主怎么联系,有空多交流交流吧,我的QQ:76320123,验证:CSDNTop
13 楼dingzhaofeng(Alading)回复于 2006-03-08 09:16:53 得分 5
相当难,相当的累Top
14 楼fangyifeng(想吃老虎的猪)回复于 2006-03-08 09:37:38 得分 0
xinggg(风之渡)说得有道理~~~Top
15 楼n688com(尘风)回复于 2006-03-08 15:36:56 得分 5
学习嘛~~~当然就是从不会到会,会了也就简单了 至于刚开始。。。硬硬头皮学了。。Top
16 楼wangzhenyun_512(explorer)回复于 2006-03-08 15:53:26 得分 5
一些较常用的东西还是做成控件好,比如重写个datagrid使其有滚动条,并且表头固定,只滚动表体。Top
17 楼hy98521(斯达克)回复于 2006-03-08 16:52:53 得分 5
我觉得最主要还是经验多积累点。 建立个相对功能强的控件 。需要功能强的。直接用。 少的时候就减少点东西。 不过最主要的还是要统一。 也是就起的名称。 方法。 都尽量统一起来。 免得开始是快。 整合的时候麻烦。Top
18 楼lostowner()回复于 2006-03-08 16:58:23 得分 5
自己也做过一些简单的,但要功能稍微复杂点的,就很难了Top
19 楼xinyangt(信仰t)回复于 2006-03-08 22:44:48 得分 5
在封装前 要经过实际项目的测试才比较可靠 要不老是修改 就失去意义了Top
20 楼Ivony(授人以鱼不如授人以渔,上海谋生)回复于 2006-03-08 23:31:29 得分 3
楼主说的是自定义控件还是用户控件?这两者可差蛮远……Top
21 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2006-03-08 23:49:13 得分 0
我从来不封装UserControl,只封装WebControl,需要支持内嵌元素的就做TemplateControl,需要支持数据绑定的就把相关属性声明为Bindable。
所有不能用原有Control和它自带的逻辑加上简单的语句就能完成的功能,并且这些功能相对独立(也就是仅与页面上的一部分控件相关,与另外的控件基本上完全无关),那么我就会封装,基本上不考虑是否复用,因为当封装率很高的时候,复用律自然高,呵呵……
我的原则是,不是全局(全页)的UI逻辑不要放在Page上面,凡是局部的UI逻辑一律封装到控件,即使仅用一次,这是为了让UI逻辑之间尽量松耦合。至于当遇到可以复用的情况,通常是由一个老的控件修改一下就马上可以复用,那时候才是考虑如何把这个控件设计为尽可能通用。当然,即使明知道这个控件只是用于封装当前这一个页面的一部分UI逻辑时,我也会尽量让它有扩展性。Top
22 楼yumei20001(纳兰一笑)回复于 2006-03-09 10:31:19 得分 0
有时候封装还不如拷贝Top
23 楼RedRain0220(红雨)回复于 2006-03-09 10:37:05 得分 0
学习....Top
24 楼sarcophile(食肉动物)回复于 2006-03-09 11:09:29 得分 2
唉,多半是第一次用的时候封装一下(有一种本能的欲望),等到下次用得时候,又有了更好的想法,原来封装的东西不得不做一些改动,有时甚至完全重写,所以封装虽然是封了,可复用性并不太好Top
25 楼kangfc(KFC)回复于 2006-03-09 11:36:08 得分 2
和楼上有同感
====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
惊喜
无偿送域名(K i l l J a p a n e s e.com),请联系QQ32528568
先到先得。2005年11月21日 21:29分开始。
Top
26 楼fangyifeng(想吃老虎的猪)回复于 2006-03-09 14:24:36 得分 0
是封装是可以啊..但是其复用性好不好就取决于个人开发的经验了~
啊 但是我现在有个想法是是否可以整个用户模块封装起来,这样对于以后的开发会很有帮助的,我打算用 "数据库模型 <->XMLA<->控件处理" 用工厂模式来处理xml, 我想这样会灵活点~~Top
27 楼eddianliu(百无聊赖)回复于 2006-03-09 14:37:51 得分 1
up!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
学习中。Top
28 楼cxb603(RedLeaf)回复于 2006-03-11 11:48:53 得分 0
一些常用的基本控件封装起来还可以,但要是把那些有针对性的也装起来就没必要了吧Top




