Anders Hejlsberg语录
刚刚在http://www.artima.com/intv/handcuffs.html看到了这段话,我感觉这可能是中国程序员的一个比较明显的通病,贴在这儿,希望对大家帮助,最重要的是,提醒自己,不要再犯同样的错误。

If you ask beginning programmers to write a calendar control, they often think to themselves, "Oh, I'm going to write the world's best calendar control! It's going to be polymorphic with respect to the kind of calendar. It will have displayers, and mungers, and this, that, and the other." They need to ship a calendar application in two months. They put all this infrastructure into place in the control, and then spend two days writing a crappy calendar application on top of it. They'll think, "In the next version of the application, I'm going to do so much more."

Once they start thinking about how they're actually going to implement all of these other concretizations of their abstract design, however, it turns out that their design is completely wrong. And now they've painted themself into a corner, and they have to throw the whole thing out. I have seen that over and over. I'm a strong believer in being minimalistic. Unless you actually are going to solve the general problem, don't try and put in place a framework for solving a specific one, because you don't know what that framework should look like.

Thursday, September 11, 2003 1:57 PM
 
反馈
# re: Anders Hejlsberg语录 9/11/2003 3:28 PM microhelper
关于日历控件,本想注册个账户之后向各位高人请教的,现在借宝地问一哈:
用一个textbox,一个button,一个calendar,一个验证控件组成一个日历控件,点button显示calendar,从calendar选择日期后,calendar隐藏,所选日期显示在textbox中,验证控件用来验证textbox中输入的是否为时间类型的值

现在遇到两个问题,第一个,我定义了一个属性TextValue(就是textbox中的值)然后用
[ValidationPropertyAttribute("TextValue")]来声明其为验证所用的属性,

我用一个验证控件来验证所输入的日期是否比当前日期大,validcontrol=myCal, myCal就是我自定义的控件,
但是每次要postbak回server端后才能验证出输入的日期是否大于当前日期,所以只好将validcontrol设置为myCal:txtDate,有没有办法来声明client端对日历控件的值验证时直接验证日历控件中textbox中的值?

# re: Anders Hejlsberg语录 9/11/2003 3:37 PM 害尔扑
第二个问题就是,为了calendar显示的时候不影响叶面的布局,所以降它的zindex设置为1000,但是因为select是windows control,所以还是没有办法盖住它,假设用window.popup的方式弹出一个菜单来显示calendar,又有点麻烦,还有没有其他可行的办法?

看到外国一些小公司做的日历控件,最贵的买到1000美元,几个控件就可以支撑公司了,在中国估计早就完蛋了

# 回复: Anders Hejlsberg语录 9/11/2003 10:25 PM blueinkstone
能不能卖得出你也看不见!或者只是个人产品。
在外国run一个公司没有中国这么复杂.

# 回复: Anders Hejlsberg语录 9/12/2003 8:25 AM 开心就好
第一个问题,在客户端可以使用JS的呀,你可以先把验证放在客户端,其实ASP.NET验证控件都是借助JS完成的。
第二个问题,见仁见智了,看你如何取舍了。

# 回复: Anders Hejlsberg语录 9/12/2003 9:54 AM microhelper
我的意思是怎么按照标准的方式来做,
比如一个RequiredFieldValidator控件,我把ControlToValidate属性设置为一个textbox控件myText,那么客户端生成<span = "..." controltovalidate="myText" ,

那么我把RequiredFieldValidator控件的ControlToValidate属性设置为我自己写的日历控件myCal,我希望RequiredFieldValidator控件知道需要验证的是日历控件中的textbox控件的值,而现在我只能这样设置:ControlToValidate="mycal:txtDate"

# 回复: Anders Hejlsberg语录 9/12/2003 10:00 AM 开心就好
我有些不是很明白,日期怎么可能是必填项目呢?
你看一下WebForm的日历控件,一上来就有一个默认值,即当天,而且除非你把它改成别的日子,系统始终会给其一个默认值。
我有一些明白你的意思,不过我建议你看一下WinForm在日历控件上的处理,它也是有两部分的,一部分是选择日期,一个是显示所选择日期的DropdownList,好象是叫DatePicker吧?

# 回复: Anders Hejlsberg语录 9/12/2003 11:33 AM microhelper
像这样子吧http://demos.deloittes.net/datepicker/default.aspx

但是那个文本框要求是可以输入的,选择时间时不要postback

# 回复: Anders Hejlsberg语录 9/12/2003 5:46 PM microhelper
但是上面这个控件有些问题,首先它对select也没有办法,还有算法有问题,生成的动态日历最后常常会多出一行来,而且还不支持designtime模式

# 回复: Anders Hejlsberg语录 9/12/2003 6:41 PM 开心就好
WinForm的基本上与你的要求很相像。
另外,它这是一个纯HTML+JavaScript的东西,你完全可以使用Web自定义控件去做,将这些JavaScript给输出到客户端。而且这样也很好的支持DesignMode。只要你愿意写Design时期的支持代码就可以了。
很多东西是体力劳动,想清楚它的实现原理后就需要浪费一下体力了。
建议你看一下别人的Web自定义控件的编码,在http://www.codeproject.com上有很多的好东东的,我们的严颢老兄就在上面发布了一个Web Panel的自定义控件,我现在一直在用。

# 回复: Anders Hejlsberg语录 9/12/2003 10:41 PM sungoodnews
到csdn上的asp论坛里找梅花雨的日历控件(一个纯客户端的Javascript控件),你会发现这就是你一直以来期待的

# From Yahoo 11/6/2003 1:18 AM Pingback/TrackBack
From Yahoo

# 回复: Anders Hejlsberg语录 11/7/2003 6:41 AM 韩磊
看得我一身冷汗!

# re: Anders Hejlsberg语录 8/6/2004 1:55 PM 快感
我也是在查找java的一些小程序看到你的帖子了 认识你也是大家的缘分 告诉你怎么实现判断一个用户输入信息的合法性
你去找一些正则表达式之类的东西~ 对你绝对有帮助的

Anders Hejlsberg语录相关推荐

  1. Delphi、C#之父Anders Hejlsberg首次访华 推广TypeScript

    Delphi.C#之父Anders Hejlsberg近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.InfoQ记 ...

  2. SegmentFault 创始人祁宁对话 C# 之父 Anders Hejlsberg

    导读 上周,C#.Delphi 之父 Anders Hejlsberg 亲临帝都,就 TypeScript 做了一场技术分享,并与众多开发者就此进行了技术探讨.Anders Hejlsberg 加入微 ...

  3. Delphi/C#之父:Anders Hejlsberg

     Anders Hejlsberg曾在丹麦科技大学学习工程学,他编写的Pascal编译器的核心,1981年将Pascal编译器卖给了Borland,并加入Borland公司,那时的Borland公司还 ...

  4. C#、TypeScript之父Anders Hejlsberg:“会用Excel就是程序员 ”

    [CSDN 编者按]近日,C#和TypeScript等编程语言的创造者Hejlsberg与TNS新闻编辑Darryl K.Taft进行了一场线上对话,围绕微软低代码/无代码.Web3等话题,分享了他对 ...

  5. Anders Hejlsberg谈C#、Java和C++中的泛型

    Anders Hejlsberg谈C#.Java和C++中的泛型 [翻译] lover_P 2004-03-25 ------------------------------------------- ...

  6. C#首席设计师Anders Hejlsberg专访

    C#首席设计师Anders Hejlsberg专访 7月,O'Reilly 编辑John Osborn参加了微软职业开发者会议.在此,他对著名的工程师.微软.Net框架设计师.C#程序语言首席设计师A ...

  7. 60岁还在写代码的程序员大师,Delphi、C#、TypeScript之父Anders Hejlsberg(安德斯·海尔斯伯格):编程符合10000小时定律

    [转载]Delphi.C#之父Anders Hejlsberg 近日首次访华,并在10月24日和27日参加了两场见面会,分享了他目前领导开发的TypeScript项目,并与国内前端开发者近距离交流.本 ...

  8. Delphi/VisualJ++/.NET/C#之父-Anders Hejlsberg

    Delphi/VisualJ++/.NET/C#之父-Anders Hejlsberg Anders虽然没有显赫的学历,无法获得Turning Awards. 但Anders的实力和贡献绝不输于任何一 ...

  9. Anders Hejlsberg

    虽然Anders没有显赫的学历,无法获得Turning Awards(即图灵奖,信息科学界最高 荣誉的奖项,等同于诺贝尔奖).但是我认为Anders的实力和贡献绝不输于任何一位 Turning Awa ...

最新文章

  1. Linuxnbsp;JDK1.4卸载与1.6的安装
  2. Tomcat - Tomcat 8.5.55 启动过程源码分析阶段三_start阶段
  3. ASP 缩略图 (纠错版)
  4. 面向机器学习的特征工程 三、文本数据: 展开、过滤和分块
  5. Redis学习总结(17)——Redis 持久化和过期机制复习
  6. php上传虚假图片,解决PHP上传多个图片并校验的代码问题
  7. 移动、复制、新增工作表
  8. 关于C#使用DataContractJsonSerializer来进行JSON解析
  9. I2C 时序、速率计算及intel I2C驱动
  10. 基于计算机视觉的葡萄检测分级系统
  11. 信息系统项目管理师考试核心考点汇总
  12. 知己知彼 看CIO如何成功领导80后
  13. Raspberry Pi Pico实践系列1-Windows环境下树莓派Pico迷你开发板MicroPython快速上手实践
  14. 微信推广二维码接口使用总结
  15. 电脑键盘错乱完美解决
  16. linux getchar函数使用
  17. Matlab基础代码教程
  18. 高德poi获取之矩形搜索法(冲出900条限制)
  19. 为什么嵌入式 IoT 设备优先选择 RTOS 而不是Linux ?
  20. 使用inno setup制作静默安装包

热门文章

  1. 郭宏志的android无线点餐系统,Android无线点餐系统--含代码.doc
  2. java调用libreoffice_使用Open / LibreOffice开始使用UNO和Java
  3. mysql linux通用版_Linux下安装通用版本的MySQL
  4. 大数据催生智慧园区_杭州经纬智慧园区如何实现各系统间信息数据集中关联、一站管控...
  5. android studio开发个人备忘录算法设计_Android Studio 4.1 发布,全方位提升开发体验...
  6. android layout 渲染,java – 渲染android.support.design.widget.CoordinatorLayout的问题
  7. 里签名boot有什么用_为什么大家都用苹果企业签名呢?
  8. HDOJ 1713 相遇周期 (最大公约数与最小公倍数)
  9. command shortcut paste
  10. 端到端测试 VS 单元测试