CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

讨论控件封装问题,回复者有分~~

楼主fangyifeng(想吃老虎的猪)2006-03-07 11:14:52 在 .NET技术 / C# 提问

开发.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

相关问题

  • 封装activex控件
  • 如何封装ocx控件
  • IP控件可以封装吗?
  • !!HELP 如何作一个封装Edit控件的控件,在VB中使用
  • 哪儿有封装好的查看图片文件的控件
  • 如何将已有的程序封装为activeX控件
  • 自定义控件属性封装的问题
  • 哪里能下载到封装了 Internet Explorer_Server 的控件?
  • 关于封装标准控件的问题
  • 如何把一个控件封装到DLL,如何做?

关键词

  • .net
  • 控件
  • 项目
  • 耦合
  • 逻辑
  • 用户
  • 经验
  • 学习
  • csdn
  • 系统

得分解答快速导航

  • 帖主:fangyifeng
  • j_lei407
  • ThreadSharp
  • Samen168
  • zhongkeruanjian
  • justok
  • hyena041
  • xinggg
  • jhpxf
  • dingzhaofeng
  • n688com
  • wangzhenyun_512
  • hy98521
  • lostowner
  • xinyangt
  • Ivony
  • sarcophile
  • kangfc
  • eddianliu

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo