自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jackhatedance的专栏

将OO建模进行到底

  • 博客(31)
  • 收藏
  • 关注

原创 自己搞了个J2ME的俄罗斯方块玩玩

自己写一个小游戏,也许是很多程序员最初的梦想。从初中学习BASIC开始,到如今31岁了,我也今天是刚刚实现了自己的这个理想。我用那写了7年SQL语句的键盘,用我那学习了OO思想,23种模式,UML,MDD的脑袋,结果2天,写出了一个俄罗斯方块游戏。稍微学习了一下J2ME,游戏可以运行在我的N-Gage QD上,当然,也可以运行在任何一台支持Java游戏的手机上。见一个朋友,我就要求通过蓝牙发给TA

2009-03-05 17:26:00 601

原创 从flex的combobox组件思考OO

最近很巧接触到flex。光一个组合框combobox,就有几百上千的方法可以用,一下子把我晕翻。参见flex的参考文档:http://livedocs.adobe.com/flex/2/langref/mx/controls/ComboBox.html#effectSummary稍微统计了一下,这个类到其祖先Object类的距离有9级,实现了4个接口。真的是一个八面玲珑的庞然大物啊。 

2009-01-20 17:11:00 1468 1

原创 谈抽象图形界面

我这样的有5年开发经验的人(不是倚老卖老,还没资格),经历过delphi,vb,vc,asp.net,java的各种项目开发,特别是图形界面的开发,时至今日,真的很想大家一起来立个标准,图形界面的标准。说起来图形界面的那些东西不就是文本框,下拉框,按钮之类的东西,明明都可以统一的呀。为什么要害我们在不同的平台上做着大同小异的工作?比如,我就只想在界面上放个文本框和一个按钮这么简单,但是我可能因此要

2008-12-26 21:37:00 871

原创 《sliverlight揭秘》

这是我刚刚看到的一本书的标题,实在是恶心得很。自从我投入开源的怀抱以后,就再没看到什么揭秘的说法,只有微软这样的闭源公司的东西才会有所谓的“秘密”可言。回想起来,windows平台上的东西一切都是秘密,微软能给的文档就是msdn。遇上没文档的,就没辙。开源就不同了,就算我看不懂源码,也有别的高手能看懂。再难的问题,论坛上也有答案。微软啊微软,苹果的昨天,就是你的明天。

2008-10-24 22:03:00 584

原创 函数的返回值为什么只能有一个?

先声明,我知道有办法让函数的返回值有多个,比如返回数组或者对象。我也没说返回数组或者对象一定不好,在有些情况下,这么做是很合适的。我这里说的一个是正常情况下,函数的声明里,只允许我们定义一个返回值,而且还没有名字(因为只有一个,所以不需要名字)。为什么输入参数就能有多个,还有名字,明显的不公平!我们很多时候不想因为返回值超过1个而定义类,那会显得笨重。所以,我们选择返回数组,或者hashtable

2008-10-17 10:30:00 5775 1

原创 夸平台的秘密:字符串

   计算机世界里一直存在着夸平台的说法,一般说来夸平台总是好的,但也难以实现的。所谓的平台也有很多种说法,包括硬件,OS,编程语言等。其中以跨语言最强。比如java是跨操作系统的,但是jdbc不是跨语言的, sql 是跨语言的; jsp 不是跨语言的,html 是跨语言的。   试想当年VB,VC,Delphi,PB哪个不是有自己的界面框架。以至于程序员大喊:学语言不是难题,几十个关键

2008-07-04 16:41:00 699

原创 论XML .properties register .ini

今天看了一篇blog,讲XML的缺点。大意是XML不够简洁。比如:fruit=pearvegetable=carrottopping=wax------------------------------------  pear  carrot  wax我觉得这个例子要说明的问题其实就是XML很强大,有时候面对简单的问题,显得杀鸡用牛刀了。XML能描述树型结构,而如果要描述的东西不是树型的时候,简单的

2008-06-25 21:35:00 598

原创 尝试用java实现有状态的事件驱动的web开发(view-state)

我是先接触.net再接触java的。这2个平台各有各的优势。虽然我决定了以后重点研究java,但是对比java和asp.net,我还是喜欢asp.net的webform.如今就连.net平台都出MVC框架了,但是java平台上却依然没有“JSP.net的webform”.于是我学习了一下ASP.net的view-state部分知识,顺便尝试在java里实验一下。结果出人意料的顺利。其实道理也真简单

2008-06-03 22:59:00 1037

原创 tomcat文档学习1

今晚闲着没事,看tomcat文档。这些文档就在附带的docs里。总得说来还是学到一点知识的,记录如下:tomcat提供了认证和权限功能,其中认证包含三种:BASIC,FORM-BASED,MUTUALBASIC模式下,浏览器关闭以后才失效;form-based模式下,session失效认证就失效;mutual模式比较高深,需要证书,不是很懂。tomcat认证除了用xml文件定义user和role之

2007-12-18 23:20:00 569

原创 什么是面向过程的对象?

常常听闻别人说“某某,你这是过程化的思维,不够OO。” 包括我自己,有时也隐约觉得表面上我们都OO了,貌似我们都在用OO的语言编程,但实际上骨子里却仍然是过程化的思维在思考问题。 但到底什么是过程化的思维,之前我自己却一直没弄清楚,而现在我自己终于认为我已经搞清楚了。 先说概念, 过程化思维就是:程序=数据结构+算法。特点是分开数据和算法。 面向对象思维就是:程序=对象+消息。特点是把数据和算法合

2007-11-16 13:26:00 1029

原创 OpenSocial杂谈

当初FaceBook问世的时候,甚至M$要巨资收购它的时候,我并不清楚它的开发平台到底是怎么回事。 但当OpenSocial发布的时候,作为google的忠实用户,我立刻就弄明白了所谓的社交网站API. 其实很好理解,google在自己的数据库里建了一堆表,保存用户的信息和他们之间的社交关系,然后提供API出来,允许js代码方便的调用。 于是,我们开发的论坛或者其他小程序就可以不必记录用户信息了,

2007-11-04 20:44:00 704

原创 我们每天都在用脚本语言编程

看到有网上有文章在教同学如何用java操纵javascript.因为新版的java将包含一个动态语言平台,sun准备在这个平台上搞很多脚本语言。然而我要说的是:脚本语言不是新事物。有人会说我的确没有在我的程序里支持过脚本语言,支持脚本语言(perl,ruby,js,etc)的程序是很酷的程序。比如浏览器支持js.其实不然。SQL就是一种脚本语言。你的程序里一定出现过。无论是内嵌js还是ruby.原

2007-10-19 17:29:00 674

原创 Jasper Reports

刚接触Java的时候,很早就觉得写Jsp,直接拼,一堆的做报表查询真的很低效。因为之前用Delphi,Asp.net的时候,都有各自的报表控件工具。所以很早就打算也找个Java环境下的报表工具。结果google了一下,似乎有一个JasperReports是免费的,我最近喜欢开源免费的东西。结果仔细一看,还有惊喜。JasperReports除了含有报表渲染控件,报表设计工具,还有Report ser

2007-10-02 11:36:00 722

原创 拥抱开源

使用linux(ubuntu)已经一个月多了,偶尔用windows是因为要改vb,delphi,.net的程序。 在linux下,似乎多数软件都是开源的,免费的。 如今我算是终于义无反顾的走上了这条路了。 java, linux, mysql, open office, firefox, ... 开放+免费,何乐而不为呢? 

2007-09-26 21:03:00 761

原创 Domain Specific Language(DSL)感想2

Martin Fowler在我心目中是个大牛,ThoughtWorks公司的chief scientist.每次听他的presentation都很激动,幸亏有了internet这个好玩意,否则我这样一个小小程序员是不可能有机会听他的演讲的。最近他老人家显然一直忙着研究DSL.今天他演讲的题目是:Language-oriented Programming and Language Workbench

2007-08-24 22:04:00 1504

原创 把Java看作DSL

GPL和DSL的概念其实也是相对而言的。 退一步,编程语言跟我们的自然语言相比,也是专用的,所以也可以称为DSL. 作为一门语言,java的词汇(keyword)有53个。 java要描述的是一个面向对象的领域(Domain)。 我对这64个关键词进行了归类,发现可以大概分为以下几类: class(package){5} object(scope,

2007-08-21 16:26:00 2467

原创 business modeling

2年前,一个朋友介绍一个生意给我:给一个小商品市场写一个管理系统。最终我没有做下那笔生意,因为我认为我此前对这个业务非常陌生,如果为了这个项目而从头学习业务知识,而且这些知识就用这么一次,我还不如把这些时间用来学习英语,因为英语知识会使我终生受益。在公司,我做的行业是制造业,我对制造业的业务则比较熟悉。终于有一天,我学习了UML。学习了业务建模的知识。通过学习并掌握了专业的业务建模知识,我可以快速

2007-08-13 13:09:00 665

原创 Lisp与编程范例

没事看到Lisp教程,尽管作者鼓吹它多么amazing,看完之后我觉得实在是非常简单的语言。主要介绍了递归和高阶的应用,递归就不说了,高阶(high-order)说白了就是函数能当参数用,其实没不稀奇,java里不都有回调函数么。其实也不意外,48年历史的语言,那么古老的东西,能有多厉害?Lisp作为函数式语言(functional program language),顺便学习了一下wiki里所谓

2007-08-01 16:35:00 1298

原创 单元测试为什么不能包含集成测试

大概是搞了几天smalltalk的缘故,纯OO的思维果然被熏陶得高了一些。但也多了一些迷惑。 在smalltalk里,everything is object.(当然,在其他OO语言里也几乎都是)。 跟着书本学一个demo,从头到尾都是在定义类(因为demo比较简单,不需要xml配置文件)。定义到最后的最后,必然出现一个代表Application的类。 于是要运行这个应用程序,只要执行一句:app

2007-07-31 16:39:00 724

原创 多语言编程时代

今天看老马的博客说的是多语言编程 。比较赞同。 一来是因为偶自己宣称也是懂不少语言的,从basic开始,c,c++,vb,delphi,asm,java,javascript,到最近学习中的smalltalk。 上面这些还只是general purpose language, 老马最近更关注的是domain specific language,dsl就是html,sql,xml,uml,以及所有的

2007-07-29 10:36:00 780

原创 我的IT字典之:小说(smalltalk)

大凡学过c++的人,都听说过smalltalk是OO的鼻祖,是pure OO的那种语言, 不像java, c++, c#,还存在者int,byte之类的基本类型。 最近看伟大的老马的著作的时候,和另一位伟大的kentbeck,xp先驱,据说都是曾经从事过smalltalk。 不晓得smalltalk为什么这么好却被淘汰了。 www.smalltalk.org网站却依然屹立在那里,开源的版本

2007-07-19 23:12:00 773

原创 代码可视化之 对“雅奇MIS”的认识

我是在一次对google“代码可视化”的时候,瞥见了雅奇MIS开发平台的。第一感觉很神奇,这世界上居然有这么神奇的开发平台存在,我们为什么没几个人用?于是想好好看看,到底是怎么个东东。耐着性子看完产品介绍和教学录像之后,算是基本明白了。首先她确实是可视化的开发的,纯代码很少,基本就是画流程图。流程图里除了菱形的判断模块之外,其他的都是矩形元素,分为窗体模块和一般模块。窗体模块就是设计一个Form界

2007-07-19 10:59:00 2998

原创 一些牢骚

令我几乎整整一年之后又重新想起《重构》这本书,是因为我在重构。 为了看懂别人留下的代码,我不得不先重构,然后理解,最后才能加上我想要加的不超过2句的代码。 我每次都怀疑这是我见过的最臭的代码,然而其实最臭的永远是Next one。 本次的代码臭味如下: 一个函数几千行; 类似的代码段到处copy&paste,包括注释掉的代码; 注释掉整个函数定义或者大片代码段--如果这也算注释的正当用途之一; 几

2007-07-17 16:45:00 629

原创 红宝石

无意中学到ruby这个老词,中文意思居然是红宝石。那Ruby on rails应该就是铁轨上的红宝石了,这老外取名字真有个性。以前一直纳闷为什么都说RoR在java社区很Hot,据说很有取代java的意思。凭我的理解,这简直就是杞人忧天。java跟ror根本不是一个数量级嘛。然而,高人一语道破天机,据说java的最大用途还是web应用,而RoR也就是用来开发web应用的。所以,担心java被r

2007-06-19 19:22:00 813

原创 把JWS用于DELPHI客户端

其实之前已经给Delphi做的客户端做了一个自动升级的小程序,用的蛮好的。但是当我看到了用JWS(Java Web Start)发布的ERP客户端之后,就不满足了。毕竟自己做的自动升级不如人家大公司做的专业。尽管JWS技术貌似只支持JAVA写的SWING之类的客户端,但我看到其还支持JNI。于是我做了一个很简单的JAVA程序,里头啥也不干,就调用一个sysutil.DLL文件里的方法。pu

2007-06-07 19:39:00 830

原创 JSP及所见即所得技术

WYSWYG所见即所得技术应该就是以MSWord为代表的。事实上,任何WYSWYG技术背后,必然存在着类似html语言这样的东西,我可以称为排版语言。比如:html:  ABCZerba: A0,20,20^FDABC^FS(其他的我不一一例举了,查资料累啊)总之这些丑陋的文字不适合人工编辑,人的接口适合图形化。微软是老早有这个技术的,所以后来的frontpage,asp.net,都是所见即所得的

2007-05-30 12:45:00 1543

原创 oracle BI publisher and label

最近2天公司培训Oracle BI publisher,它的前身是xml publisher.根据我这两天学习的理解,它就是对一数据集的展现定义多个模板。除了不同的模板,其还允许定义不同的语言,适合于国际性公司。总之一句话,同一个数据结果集,可以通过定制不同的模板和选定不同的语言,输出2者的任意组合。数据集简单说就是一张表。模板就是版面设计,layout design。典型的比如excel里就允许

2007-05-29 12:38:00 962

原创 学innosetup实践fastscript(delphi)

常常遇到要写一些客户端程序,其中90%以上的代码都是一样的,但10%是不一样的。最土的办法自然是copy一个老程序过来,改一点就行了。但是从软件重用精神讲还是处于初级阶段。但那些不同之处又是不能通过参数来调整这么简单的,有时还非得代码不可。我能想到的对策就是2种:插件和脚本。插件比较重量级,需要编译,需要开发环境。适合逻辑比较复杂的情况。脚本一般由于不能设断点调试,文本编辑器就可以了,适合逻辑比较

2007-05-07 15:45:00 2046

原创 thinking in software

题目是学人家的《thinking in XXXX》,作为一个coder,or ba其实一直在探索究竟如何才能构建出好的software来,每天在学习,在摸索,却不是每天都会停下脚步安安静静地来完整的思考一下自己所知道的关于software的一切。我觉得至少每年都应该这样思考一次。最近开始突然对oo的东西感兴趣了,几天下来,看的都是use case,感觉搞了这么多年的程序,其实一直都没跳出来

2006-09-06 23:31:00 809

原创 Delphi通用插件框架

近期打算抽时间看点OO,UML的书,电脑里的martin fowler的5本书一直没怎么看过,学编程这么多年,其实水平一直不高,工作性质是一个原因,做一个古董系统的维护工作,不如那些一年到头在外做项目的有提高.反过来想,也许是个机会去重新写一个系统,可是2年来,我还是没能写出这个新系统.最近终于做成了一点事情,就是做了一个Delphi的DLL插件式框架,把原本各自独立的20个Delphi客户端

2006-08-23 07:20:00 5005 7

原创 IoC牌马甲

初次听说spring的时候,就已经被IoC这个词吓坏了,等我真正明白这个词的含义的时候,有一种强烈的想扁人的冲动。(那个人估计是rod)今天要说的是delphi的.dfm文件跟所谓的IoC居然是一个东西,呵呵。随便看一个包含一个按钮的窗体定义文件:object Form1: TForm1  Left = 192  Top = 107  Width = 696  Height = 480

2006-03-25 08:51:00 1086

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除