韩磊之走入C#面向对象误区!
2006-11-15 13:44
288 查看
最近,韩磊翻译的一本书:C#面向对象-概念到代码之路。
其中在序言中说了一件很有趣的事情:他面试程序员的时候,要别人直接写windows小应用程序,而不用IDE提供的控件。他的意思是说,很多人使用C#但是不理解面向对象的思想。的确,C#是完全面向对象的优秀语言,在每个地方都体现了面向对象,所以 你不要别人拖放控件直接写控件的委托和实践,其实并非是在考别人是否理解面向对象编程,而是在考别人到底对IDE的模板以及.net对象的记忆理解程度而已。
其实他这种做法也并不新鲜,有其它公司也把Java拿出来,让程序员脱离IDE环境直接写图形界面程序,这就需要 程序员努力记忆那些常用控件的使用。当然在windows 应用程序模板中,就直接在构造函数调用了控件类的创建和使用,说实话,也是非常简单的事情,当然难就难在你理解使用委托来实现事件的原理。不过对于编制了很多程序的程序员来说,这点并非难事。
继续说说韩磊这样倡导无IDE开发环境的编程尽管有一定的意义,但是实际上不可取的。我们这些工作了20年的老程序员在开始苹果Basic之路的时候,就深深知道,程序开发环境能提供的功能越高越好,提供的代码越简单越好,甚至包括了服务程序和驱动程序能直接给我们接口那就更好了。菜单以前需要我们去编制,现在直接把控件一拖就可以了,我们不必要再回到C++的MFC时代,我们普通程序甚至不需要去了解类中封装的代码,你就直接使用属性和方法好了。
韩磊这样倡导的事情,还不如倡导大家去把System.object都去读一遍,背下来,兴许更容易理解怎么去编程序哦,更容易理解怎么去建一座超级的高楼,但是我们是没有必要的,没有必要去花费这个精力,程序员的精力是有限的,没有必要投入 到无限的有用的破解黑箱里去。
不过大家关心一下IDE提供的模板程序,这个是不错的,但是必要去亲身写,当然作为学习是可以的,甚至不学这些可以拖拉的控件也不影响你使用委托和事件。在很多应用程序中,会迫使你去使用委托和事件的。
韩磊的观点,只不过太牵强了,完全是一种吵作的无用理论。
其中在序言中说了一件很有趣的事情:他面试程序员的时候,要别人直接写windows小应用程序,而不用IDE提供的控件。他的意思是说,很多人使用C#但是不理解面向对象的思想。的确,C#是完全面向对象的优秀语言,在每个地方都体现了面向对象,所以 你不要别人拖放控件直接写控件的委托和实践,其实并非是在考别人是否理解面向对象编程,而是在考别人到底对IDE的模板以及.net对象的记忆理解程度而已。
其实他这种做法也并不新鲜,有其它公司也把Java拿出来,让程序员脱离IDE环境直接写图形界面程序,这就需要 程序员努力记忆那些常用控件的使用。当然在windows 应用程序模板中,就直接在构造函数调用了控件类的创建和使用,说实话,也是非常简单的事情,当然难就难在你理解使用委托来实现事件的原理。不过对于编制了很多程序的程序员来说,这点并非难事。
继续说说韩磊这样倡导无IDE开发环境的编程尽管有一定的意义,但是实际上不可取的。我们这些工作了20年的老程序员在开始苹果Basic之路的时候,就深深知道,程序开发环境能提供的功能越高越好,提供的代码越简单越好,甚至包括了服务程序和驱动程序能直接给我们接口那就更好了。菜单以前需要我们去编制,现在直接把控件一拖就可以了,我们不必要再回到C++的MFC时代,我们普通程序甚至不需要去了解类中封装的代码,你就直接使用属性和方法好了。
韩磊这样倡导的事情,还不如倡导大家去把System.object都去读一遍,背下来,兴许更容易理解怎么去编程序哦,更容易理解怎么去建一座超级的高楼,但是我们是没有必要的,没有必要去花费这个精力,程序员的精力是有限的,没有必要投入 到无限的有用的破解黑箱里去。
不过大家关心一下IDE提供的模板程序,这个是不错的,但是必要去亲身写,当然作为学习是可以的,甚至不学这些可以拖拉的控件也不影响你使用委托和事件。在很多应用程序中,会迫使你去使用委托和事件的。
韩磊的观点,只不过太牵强了,完全是一种吵作的无用理论。
相关文章推荐
- C# VS 中计时器Timer的误区
- Silverlight C# 游戏开发:面向对象在游戏中的实例(一)
- Silverlight C# 游戏开发:面向对象在游戏中的实例(二)
- C# 面向对象的base的使用
- C#进阶1_面向对象、类
- asp.net(c#)有关 Session 操作的几个误区
- C#基础—面向对象
- [目录][C#笔记]---第二节 面向对象
- 【C#学习】——面向对象
- 大话设计模式学习(一)—C#面向对象的基础知识
- c# 了解c# 面向对象
- 寒風的C#之旅之面向对象的课后习题
- .天轰穿C# -vs2010 - 04面向对象的编程之接口 VS 抽象类 【原创】
- C#基础-----面向对象
- c#简要概括面向对象的三大特征(二)
- 黑马程序员-C#面向对象之封装
- C#学习进程--面向对象-继承
- C#学习第七天 面向对象、类、对象的概念
- C#面向对象三大特性
- .Net学习 第2季07 C#面向对象 多态