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

开发 项目管理
这篇文章的出现源于跟同事的一次争吵,其中争吵的主题是关于软件中一些控件的显示风格的问题。

主要包含下面这些情况:

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

责任编辑:彭凡 来源: 博客园
相关推荐

2022-08-26 08:35:59

对象设计底层

2009-07-02 13:51:05

对象和范围属性

2009-06-18 11:11:08

Java项目模型Eclipse

2009-08-24 16:11:35

C#项目开发

2022-08-25 14:52:42

技术架构工具

2022-12-26 09:27:48

Java底层monitor

2013-08-14 16:52:47

Android开发者

2010-12-16 14:48:07

QtQUdpSocket对

2021-12-02 09:54:11

Python 开发编程语言

2015-07-02 14:38:44

2021-10-26 13:18:52

Go底层函数

2020-06-08 13:41:31

戴尔

2011-09-14 09:56:48

HTML 5

2019-12-16 10:01:54

Java开发Web

2009-08-05 15:26:23

需求分析

2009-07-14 16:51:50

Jython中的对象

2009-06-17 14:33:08

java项目开发

2011-08-10 09:17:58

.NET

2017-03-28 21:25:19

无循环代码JavaScript

2021-10-21 18:47:37

JavaScript面向对象
点赞
收藏

51CTO技术栈公众号