02 2007 档案

勿把计划当论文
摘要:领导说我计划上存在一个问题。他认为,我的问题关键在于,我将整个事情,当作论文在分析。各个方面都有道理。可是看上去就是和实际情况没有联系起来。我要做的计划是规划公共资源(什么是公共资源?你可以认为公共资源是研发的公共控件,更可以理解为是公司技术的核心所在。因此他的好坏,直接影响公司的生产力)的管理。由于这是公司的财产,我不方便公布细节。我只是说一下我的方法。思考系统的方法很多,我也是在一点点地学习。最常用的方法就是学习别的系统是如何分析的。针对公共资源管理,我认为最关键的是要找到公共资源的客户是什么,然后以此为中心,分析客户都需要什么,列出个一二三出来。接下来,关键在于,根据什么的一二三,建立公 阅读全文

posted @ 2007-02-13 04:50 ohmyjava 阅读(99) 评论(0) 推荐(0)

成功的失败预言
摘要:这是一个刚刚发生在我身上的故事,故事的结果不是我所愿意看到的。唯一使我感觉好的地方,是我重新琢磨了事情的原委。我从一开始就预测到最后的失败,而且最后就真的失败了。我家乡的表弟来到远在北京的我的家里。家里只有我一个。于是屋子里整理的状况可想而知。于是表弟非常诚恳地建议重新整理一下屋子。特别是在春节之前,意义更是重要。我一想,也确实是该整理了。晚上收拾完,就说开始整理吧。我对整理不是在行,但也就凭着习惯,开始整理起来。表弟确实看不过去,认为我应该从上往下进行整理,先把柜子顶上的箱子整理好。我认为在这个问题上,说总是没有做来得重要。我可不愿意看到旁边有人在指挥这指挥那的。我就说,你要这样整理,就这样 阅读全文

posted @ 2007-02-13 04:14 ohmyjava 阅读(137) 评论(0) 推荐(0)

苛评VCL: Amingoo的留言
摘要:这些言语是Amingoo先生留下的非常珍贵的评价,对我也是一个学习的提升。为了让更多的人看到这个评论,特意将它作为《苛评VCL》系列文章的最后一篇发出,和大家一起分享。希望Amingoo不要见怪。以下言语都来自Amingoo先生:1. 这个问题不是所谓的类型问题,也不应该是在DLL内去解决的问题。如同BuilderChen所说,不认当把一个特定的OOP实现框架暴露在DLL的接口层,这样会使得这个DLL失去了共用代码的性质。2. BPL通过DLL导出函数的方式使得不同的模块间可以使用同一个RTL。从本质上来说,它就是一种失去了通用性质的DLL。如同第一条所述的,它们的应用场合、背景和功能都有了差 阅读全文

posted @ 2007-02-09 23:29 ohmyjava 阅读(122) 评论(0) 推荐(0)

苛评VCL: 穿不透的类型
摘要:虽然遭遇到很多人的批评,但还是最终坚持下来。在这个系列中,主要是针对平时使用VCL的过程中,感觉Delphi没有处理好的地方。偶尔能提出一些自己的看法,权当谈资。更重要地是,我们可以借此学习到一些思想。Delphi比起其他语言,有一个非常明显的特点,那就是类引用。典型的声明就是:TComponentClass = class of TComponent;可不要小看这个简单的声明,他可以让你直接访问到类的VMT。在李维先生的《Inside VCL》中谈到Delphi.NET的时候,也对此有特别的说明。对象和对象的差异,从一定意义上讲,就在于其所指向的VMT的不一样。在VCL中,每个类的VMT都有 阅读全文

posted @ 2007-02-08 00:14 ohmyjava 阅读(150) 评论(0) 推荐(0)

苛评VCL: 孤独的Application
摘要:由于每次都可能有人是单独阅读这个系列的文章。我想重申一下我的苛评VCL的意义。不在于说VCL的不好,而是重点将发现到一些问题暴露出来,以此来说明我认为VCL原来处理不合适的地方。这永远是一个设计问题,而不是技巧问题。中间难免有争议。不过请大家将争议的目标锁定在设计本身。毕竟,针对特定情况的争议才是有意义的。说起Application,稍微知道Delphi的人都知道。我们最常使用的Application的几个方法是: Application.CreateForm Application.ProcessMessage Application.MainForm ... 这些方法带领我们逐渐去认识Ap 阅读全文

posted @ 2007-02-07 07:37 ohmyjava 阅读(138) 评论(0) 推荐(0)

苛评VCL: 臃肿的Windows控件
摘要:写这一篇还是顶着很大的压力的。相信又有不少人要瞧不过去了。不过本着讲讲设计,无所谓好和坏,只有较好和较坏的差别。我只是从我的角度,尽量去解释为什么不赞同VCL中的设计而已。我们知道VCL封装了Windows的标准控件。这些控件包括:Edit、ListBox、ComoBox。还有一些Win32控件,包括ListView、TreeView等等控件。所有这些,在VCL中定义为TWinControl,他们都包含Windows分配的句柄Handle。也有自己的绘画句柄HDC,当然了,在VCL中就是Canvas属性。我们现在开始说明VCL是如何实现这些控件的。正如前面所说的,与其说是实现这些控件,更不如说 阅读全文

posted @ 2007-02-06 00:03 ohmyjava 阅读(163) 评论(0) 推荐(0)

苛评VCL: 混乱的TStream
摘要:为什么这么苛刻地来评论VCL的基础类设计,我已经在前一篇关于TObject的文章中讲过。今天我拿出在一次跟踪VCL代码的过程中发现的问题。在此之前,我没有任何理由会相信会存在这样的情况。TForm读取dfm文件创建窗体过程大家一定都比较清楚,其中负责读取的是Classes.pas单元中的TReader类,而它在实现的时候,会调用到如下的函数:function InternalReadComponentRes(const ResName: string; HInst: THandle; var Instance: TComponent): Boolean;var HRsrc: THandle;b 阅读全文

posted @ 2007-02-05 08:46 ohmyjava 阅读(161) 评论(0) 推荐(0)

苛评VCL: 失望的TMenu
摘要:TMenu是什么?他是VCL中封装的TMainMenu和TPopupMenu的基类。与其说对TMenu失望,其实是对VCL中对TMainMenu和TPopupMenu的失望。为什么呢?这基本上还得归咎于微软自己。微软在推出Windows的同时,却坚决的在推Office系列产品。而且Office的更新速度和Windows几乎一样快。更重要的是,Office系列产品的界面风格,特别是菜单,和标准Windows的完全不同。当微软的Office推广地非常好的时候,我们都在渴望也能设计出一样的界面。对于只是外表改变的需求来讲,很自然地可以考虑重新覆盖TMenuItem的Draw方法。可是,当你真的想这么 阅读全文

posted @ 2007-02-04 01:24 ohmyjava 阅读(176) 评论(0) 推荐(0)

苛评VCL: 接口与TObject
摘要:在李维的《inside VCL》中详细描述了VCL中TObject的地位。是的Borland的工程师们有心将Delphi语言做成pure language。所以你几乎可以看到TObject的所有pure pascal的实现。更重要的,你应该会发现。Delphi将代码的所有运行机制都暴露在我们面前。这也就是Delphi的TObject和C++中的Object以及C#的Object有很大不同的地方。Delphi将整个语言的机制都在TObject上实现了。消息机制、接口机制、面向对象机制(多态)等等你都可以从TObject的实现代码中看到运行的全部流程。不管TObject如何优秀,可是TObject 阅读全文

posted @ 2007-02-02 00:39 ohmyjava 阅读(205) 评论(0) 推荐(0)

导航