项目开发中的底层对象抽离

主要包含下面这些情况:

1、Lable控件的对齐方式,是否在Label控件的Text***加上冒号,也就是“:”;

2、ListLiew控件列头文字对齐方式、是否显示网格线;

3、……

一个项目多个人开发,自然会出现多种不同的风格,但是萝卜白菜,各有所爱,***做出来的软件是样式万千啊,这样做出来的东西让人用了如何爽的起来啊,用户还不得开口骂人啊?

但是一个软件下来,控件都有几百个,如何一个一个的去改风格啊,到时候软件是改好了,用户不骂人了,估计程序员开骂了,nnd,这是个什么事儿啊?

有时候感觉懒人在这个世界上还真有他的一片天空,如果能够一个方法来解决所有的这些问题该有多好啊,想着想着,眼前一亮,还真有,如果在每个UserControl,或者Form的PreRender方法中进行一次多所有控件的递归遍历,然后对相关的控件做相应的处理,大概代码如下:

 
 
 
  1. foreach(UserControl ctrl in this.Controls) 
  2.     if(ctrl is Label)..... 
  3.     if(ctrl is ListView)..... 

这样似乎从一定程度上简化了程序员修改代码的难度,从一个个的去修改控件的属性,变为通过代码循环处理来修改控件的属性,但是随之而来又会面临一个问题:本身递归就是一个很影响性能的操作,但是如果有控件嵌套使用的话,会出现对同一个控件进行多次控件遍历的情况,这样的话对性能的影响就更大了。

有没有办法可以躲开重复遍历的问题吗?答案是:有的!

如果我们写一个UserControl和一个Form的基类,然后只在这两个基类中编写控件遍历处理的操作,然后让所有的UserControl和Form都继承这两个基类,这样完全可以解决前面的难题,同事代码量也会减少很多。

总结:到这里,我想文章的意思应该与题目“项目开发之底层对象抽离”相呼应了,那就是:为了便于对自己写的所有代码做一个统一处理,***的方法就是尽量将同一类对象抽象出来写一个基类,然后在基类中来做统一处理即可。想想我们平时都会有哪些对象是可以抽离出来的呢,我这里举几个例子,或许还有很多,留待慢慢发现:

1、所有UserControl基类

2、所有Form基类

3、实体类基类;

4、实体类字段基类;

5、所有功能组件;

原文链接:http://www.cnblogs.com/Juvy/archive/2012/02/21/2361878.html

【编辑推荐】

  1. 软件项目管理的十大定律
  2. 项目管理可以简单一点之团队建设
  3. 项目管理其实可以简单一点之项目继续
  4. 项目经理三年项目管理的三个阶段
  5. 项目管理思考之权利
THE END