20070211 asp.net  程序员 通用界面
http://www.yippeesoft.com

如何识别优秀的程序员?并不是像听起来那么容易。在这儿工作经验的作用是很有限的,因为伟大的程序员不一定要‘正式’的工作经历来证明他们的伟大。

1,激情。

我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。

2,自学好学

编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。

3,聪明

聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。

4,隐性的经验

—好的程序员通。常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。

5,技术多样性

由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。

6,资格证书

资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。

原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。

总结而言,优秀的程序员通常有一下特点:

n         对技术充满激情;

n         将编程作为一种爱好

n         如果你允许会滔滔不绝地跟你谈论技术

n         有过个人的开发经历(与4意思相同)

n         坚持认为某种技术最好

n         如果让他用他认为不好的技术他会非常别扭

n         聪明、健谈、兴趣广泛

n         在大学和工作前就开始接触程序

ASP.NET下面主界面的框架,现在了解下来有这么几种方法:
1.一种是用FrameSet的方法,

2.ASP.NET Starter Kit中的方法是动态装入用户控件。

3.ASP.NET2.0的方法是Master Pages
http://www.developer.com/net/article.php/3099171
 在ASP.NET1.1中有一个类似的方案:
http://www.cnblogs.com/dudu/articles/1503.aspx
http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=385&tabindex=2

现在我要开发一个程序,要对十多个不同的表进行常用的
增加,
删除,
编辑等操作,但如果对每一个表都编写一个aspx文件,设计同一布局的界面,将是十分繁重重复的工作,所以我想是否可以设计一个通用界面解决这个问题,但如何实现想请各位高手指点。

可以实现  
   
  以前曾经做过一个类似的  
   
  我的做法是:  
   
  一个通用的数据访问组件,可以实现记录的增加,删除,编辑,搜索等  
   
  每个表的结构都当作一个对象处理,记录对象中附加一些信息  
   
  包括:  
  1、每个数据库字段的类型、取值范围(这些信息用作验证用户输入的数据)  
  2、这个字段的控件类型,例如TextBox,DropDownList等(这写信息用于自动生成控件)  
  3、表的信息,例如字段数目,名称等  
   
  一个典型的记录对象片断是这样的  
   
  public   class   Area  
  &leftsign;    
          public   string   AreaName&leftsign;get;set;&rightsign;  
          public   string   AreaID&leftsign;get;set;&rightsign;  
        ……  
        System.Data.DataColumn   col_0   =   new   System.Data.DataColumn();  
  col_0.ColumnName   =   "AreaName";  
  col_0.DataType   =   typeof(System.String);  
   
  col_0.MaxLength   =   50;  
   
  col_0.ExtendedProperties["FullColumnName"]="[Area].[AreaName]";  
  col_0.AllowDBNull   =   false;  
  col_0.AutoIncrement   =   false;  
                                                          col_0.ExtendProperties["ControlType"]="System.Web.UI.WebControl.TextBox";  
   
  ……  
   
   
  &rightsign;  
   
  然后就是自动显示界面的问题了  
   
  对于这个可以做一个From的组件,专门处理界面的显示问题  
   
  例如根据记录对象,自动生成输入界面等  
   
  然后实现保存  
   
  效果说明:  
   
  这种做法对于处理拥有很多字段的表很高效!  
   
  不用做每个页面  

哦,再给点代码  
   
  System.Web.UI.Control   ctl=null;  
  try  
  &leftsign;  
  Type   t=Type.GetType(controlType);  
  ctl=(System.Web.UI.Control)t.Assembly.CreateInstance(t.FullName.Trim());  
  &rightsign;  
  catch(Exception   ex)  
  &leftsign;  
  throw(ex);  
  &rightsign;

这个我做过,其实不难,但步骤挺烦的,可以做成一个摸板,然后从项目中添加新项,完全和新建aspx文件一样的操作。  
  1.在VS的这个目录下新建一个控件文件夹"CustomerControl"  
  D:\\Program   Files\\Microsoft   Visual   Studio   .NET\\VC#\\VC#Wizards\\CustomerControl  
  在该文件夹下继续新建文件夹“Templates”,再在Templates中创建"2052",然后把你的用户控件copy进去。  
  2.转到目录D:\\Program   Files\\Microsoft   Visual   Studio   .NET\\VC#\\CSharpProjectItems  
  下,新建注册文件CustomerControl.vsz,可以用记事本来写  
  内容为:  
  VSWIZARD   7.0  
  Wizard=VsWizard.VsWizardEngine  
  Param="WIZARD_NAME   =   CustomerControl"  
  Param="WIZARD_UI   =   FALSE"  
  Param="PROJECT_TYPE   =   CSPROJ"  
  3.转到目录D:\\Program   Files\\Microsoft   Visual   Studio   .NET\\VC#\\CSharpProjectItems\\WebProjectItems新建目录CustomerCotrolTemplates  
  (这个文件夹可以不建,你把他放到resource   里面也可以,不过这样就不容易区分哪些是系统自身的,哪些是自己创建的,在创建新项的时候就从这个文件夹里选)  
  再再里面创建新的注册文件:CustomerControlTemplates.vsdir  
  内容为:  
  ..\\..\\CustomerControl.vsz&line;&leftsign;FAE04EC1-301F-11d3-BF4B-00C04F79EFBC&rightsign;&line;#2378&line;20&line;#2379&line;&leftsign;FAE04EC1-301F-11d3-BF4B-00C04F79EFBC&rightsign;&line;4558&line;0&line;CustomerControl.ascx  
  这样再运行VS环境,在创建新项的时候就会有CustomerContrl.ascx摸板了  

历史博文

标签:, , ,
十一月 13, 2008 at 9:23 下午 by yippee 1,007 次
Category: Info
Tags: , , ,