最新文章列表

敲响OO时代的丧钟——DJ对于数据持久化的支持(3)

我上次已经全部写完DJ的语法部分了。结果提交之后,却发现MSN只给我保留了三段,实在是郁闷啊。还是再整理一下思路,接着说罢。   在dclass的定义中,数据被分为key_datatype定义与datatype定义。相应的,也只有InitChannel,能够设置key_datatype的数据(而且只能设置一次)。可以分为两种情况: User u=dnew User();...u.save( ...
庄表伟 评论(0) 有811人浏览 2006-08-25 21:24

敲响OO时代的丧钟——DJ对于数据持久化的支持(2)

上一次的关于DJ对于数据持久化的支持,没有写完,匆匆就收笔了,今天接着写。趟混水的事情,有空再做吧。   今天我花了相当长的时间看了ajoo的组合子中的“monad”、“南无阿弥陀佛”和“重构2”。说实话,我还没有完全看明白,但是大概的意思是理解了。利用组合子的方式,提供更加灵活的对象创建手段,这是ajoo希望表达的意思。但是,在我看来,之所以需要这么“灵活到了近乎变态的”对象创建方式——如 ...
OO 
庄表伟 评论(0) 有999人浏览 2006-08-23 21:16

敲响OO时代的丧钟——DJ对于数据持久化的支持(1)

请首先注意这篇文章标题,在DJ的语言中,有天生的持久化的概念。但是,与通常对于持久化的理解不同的是,这不是“对象的持久化”,而是“数据的持久化”。   在我看来,正统的OO概念中,对象=数据+方法。那么,对象内部的数据可以持久化,对象的相关方法如何持久化呢?有没有必要持久化呢?对于“对象的持久化”,更加准确的定义是:“以对象为单位的,对象内部数据的持久化”。   对于DJ来说,自然也存在 ...
庄表伟 评论(0) 有1476人浏览 2006-08-21 20:34

敲响OO时代的丧钟——新语言的威力(2)

ajoo的面向组合子的程序设计方法已经连载了八篇了,说实话,我一直在找他这方法中的漏洞,而且觉得有那么点意思,大概可以写点什么了。然后呢,我就想这么个问题,假设用DJ来实现一个logging的需求,该如何做呢?   想来想去,特别是在我仔仔细细的看过ajoo的CO代码之后,我突然顿悟了!我差点错过了一个极好的例子。当初ajoo发现,logging是一个说明CO程序设计方法的不可多得的好例子。 ...
庄表伟 评论(0) 有1126人浏览 2006-08-16 21:43

敲响OO时代的丧钟——DJ中的事件机制(重写)

最近一直在思考DJ中的事件机制的设计问题,觉得以前的设计并不够好,关键在于概念还不够清晰,因此语法的设计也不够干净利落。因此我打算重 ...
OO 
庄表伟 评论(0) 有996人浏览 2006-08-15 11:58

随感小记

好多天没有更新,实在是有点抱歉。这段时期事情多多,主要是我爸的病。搞得我急火攻心,一时之间,眼睛也肿了,口腔也溃疡了,身上也长了好几个疖子,还到医院里去看了两次病,吊了三天盐水......以前一直说:“儿行千里,母担忧”,这父母生病,做儿女的,也担心呐!   关于OO的文章,我也一直没有办法写,疖子长的位置不对,搞得我坐都没法坐,只能常常躺着,再加上眼睛也成了独眼龙,只能偶尔看看JavaEy ...
庄表伟 评论(0) 有1005人浏览 2006-08-12 22:43

还是要有自己的地盘

如果没有自己blog,一旦言论在BBS中被删除,就尸骨无存!   oohmail2005的一篇介绍flowc(面向流的C语言扩展)的帖子,在javaeye贴出之后,从《Java企业应用》被转到了《Java编程综合讨论》,再被转到了《帖子回收站》,最终被迅速的删除,什么痕迹都没有留下!一声招呼也没有打过!   这篇帖子,不论作者的水平高低,观点对错,自始至终,我只看到gigix和ozzzzzz等大牛在 ...
庄表伟 评论(0) 有1039人浏览 2006-08-12 14:57

敲响OO时代的丧钟——一种新的语言(9)

  首先补充一下上次没有说完的部分,特别是channel模板定义部分。     1、关于动态对象与管道之间的关系,应该符合以下要求。   每个动态对象可以插入多个管道,但是每个动态对象,至少要求有一个初始化管道,以作为动态对象的初始化的工作,如果在动态对象定一种没有规定,则需要在执行dnew操作的时候,注入一个。   每个管道在定义的时候,如果是按照这样的方式定义:   channel UserCh ...
庄表伟 评论(0) 有1210人浏览 2006-08-08 21:59

敲响OO时代的丧钟——一种新的语言(8)

六、event   event这个概念,可以说是我的DJ语言中,最为核心的概念。因此值得细细道来。我之所以要敲响OO时代的丧钟,最大的一个原因,就是Object是静态封装的。为了“保证数据的安全”,面向对象从“抽象数据类型”一步步发展而来,带来了无数的问题,引发了重重的困难,大多数的对于OO的批评与改进,都很少触及这个根源,也很少想过打破对象封装这样的事情,直到近年来出现的AOP、Mixin以及 ...
庄表伟 评论(0) 有1213人浏览 2006-07-29 22:51

敲响OO时代的丧钟——一种新的语言(7)

五、dclass   本来我就在两个关键字之间犹豫,一个是djclass,另一个是dclass。后来想想,还是dclass显得大气一些,也少一个字母呀 dclass UserObj{     key_datatype:         int user_id;     datatype:         User  user;     channel:         init UserIni ...
庄表伟 评论(0) 有1162人浏览 2006-07-28 23:11

敲响OO时代的丧钟——关于DJ的开发思路

DJ是一个精心设计的语言,之所以敢于夸耀这个语言,在于我在设计这个DJ语言的时候,不但在考虑语法的表达的能力,更加在考虑基于DJ语言的开发 ...
庄表伟 评论(0) 有1170人浏览 2006-07-27 22:27

敲响OO时代的丧钟——一种新的语言(6)

四、channel与contract   如果我们要对UserChannel进行校验,可以在两个层面进行。 一个是每个方法,都可以写check:与test:。 另一个是在整个channel层面,还可以再写同时牵涉到多个方法的test:。 channel UserChannel<datatype User user>{     public String getUserNa ...
庄表伟 评论(0) 有1001人浏览 2006-07-26 20:50

敲响OO时代的丧钟——一种新的语言(5)

三、Channel的定义 关于Channel,我一时找不到好的中文来称呼它。当然,在我思考的时候,我的心里面想的是中文“管道”。但是管道这个词我一直觉得不太好,所以也没有深入想,就直接起个英文名词Channel算了。先看一下Channel是如何定义的。   channel UserChannel<datatype User user>{     public String getU ...
庄表伟 评论(0) 有1039人浏览 2006-07-25 21:14

最近在JavaEye一些争吵

这两天在javaeye发生的争吵,相当令人不快。   ajoo也算是“成名高手”了,依然孜孜不倦的跟我纠缠当初吵了几十帖的“给OO下个定义”这样的“八股”问题。既然是“八股问题”,就不是无理取闹!是的,他有道理,而且是有大道理,但是这样的“学究道理”,实在是令人厌烦。这次更是将矛头对准整个javaeye,还搞了个新词叫做“民科”。 javaeye的民科倾向   gigix也是名人了,老是拿SICP出 ...
庄表伟 评论(0) 有1163人浏览 2006-07-25 15:02

关于SICP的两个注脚

  《宏论·注脚》是gigix在7月19日的一篇blog。应该是评论我的《OO丧钟》的系列文章的吧。虽然没有什么直接的评价,除了“越写越没料”、“已然是开始扯淡了”算是一个评价之外。然后呢?然后他就祭出了一个大大的法宝:《SICP》,中文名称是:《计算机程序的构造和解释》。这书赫赫有名,最近o6z也在推荐大家去看:赶快去学习sicp、从直觉到自觉的迈进。     SICP这本书我看过没有呢?我的确是 ...
庄表伟 评论(0) 有1562人浏览 2006-07-21 10:20

敲响OO时代的丧钟——一种新的语言(4)

二、方法/函数定义   定义一个函数的办法其实很简单,几乎和java的函数定义没有什么两样——如果你不使用DJ的高级特性的话。   User getUser(UserList ul,St ...
庄表伟 评论(1) 有1125人浏览 2006-07-20 00:08

敲响OO时代的丧钟——一种新的语言(3)

与数据类型定义相关的,还有一些小问题,这里再讨论一下。   1、final修饰符   datatype作为校验的依据,其实分为两个部分:是否存在某一特定名称与类型的变量;变量是否符合一组check条件。因此,任何数据,只要能够事实上通过abc类型的校验条件,就可以算作是abc类的数据,并不需要在定义中显式的声明为as abc云云。这个语法设定,并没有考虑到一种特殊条件——满足条件,但是有 ...
OO 
庄表伟 评论(0) 有983人浏览 2006-07-18 23:02

图形用户界面(GUI)应用开发的两种思路

一个初步的想法,先简单说一下。   1、最初的图形用户界面,都是代码堆出来的,用代码来画界面,用代码来响应事件,用代码来处理事件。   2、OO风潮一起,GUI的框架自然也要跟进,基于控件的GUI开发,大行其道。   3、最初的Web,根本无法与GUI应用同日而语,反而能够不受太多OO思潮的干扰。独立发展出了:结构、表现、行为三分离的架构模式。也就是XHTML、CSS、DOM/ECMAScript。 ...
庄表伟 评论(0) 有1340人浏览 2006-01-21 23:39

到底是谁浮躁?

  2005-8-25,我写完了《OO丧钟》系列的最后一篇。在很长的一段时间内,大家也都不来睬我了。直到最近,四个多月过去了,突然关注的人又多起来了。     先是徐昊的一组《丧钟为谁鸣?》大大的点中了我的薄弱之处,还有ajoo的重量级马后炮。我也心悦诚服的表示了惭愧。     然后事情就有点奇怪了。抄几段话给大家看看:   cm4ever: 看了半天,觉得没什么新意,而且标题哗众取宠。 ...
庄表伟 评论(0) 有1092人浏览 2005-12-28 15:28

非常惭愧,还是学习不够多!

  徐昊终于出手了,最近的一组重量级的文章《丧钟为谁鸣?》,直指当初我的那篇《敲响OO时代的丧钟》。  链接地址:第0 面向对象 http://www.blogjava.net/raimundox/archive/2005/12/20/24851.html 第1 接口 http://www.blogjava.net/raimundox/archive/2005/12/21/24889.html 第 ...
庄表伟 评论(0) 有1271人浏览 2005-12-22 21:48

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) .net(54785) 编程(39454) JSP(37542) 数据结构(36423) Eclipse(31254) PHP(29988) F#(26079) 算法(24867) 脚本(19840) J#(18922) JDBC(17888) ASP(17480) JDK(14881) JVM(14450)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics