2010 1 6 12:58 AM 2670 次查看
分类:设计模式 标签:Java, Python, 设计模式
项目中遇到个问题,虽然还没和别人沟通过,不过先记录一下自己的想法吧。
在第一阶段的开发中,我们只针对美国和加拿大;现在要开始第二阶段的开发了,需要面向欧洲6国;而第三阶段则要面向亚洲。
问题是每个国家除了语言不一样,连逻辑都不一样,于是调用类的逻辑就得改了。简单来说就是要针对不同的国家,调用不同的类。
最容易想到的方法就是使用工厂方法模式:传递国家名,找到对应的类,再调用该类的方法。
可是被调用的方法不是实例方法,而是静态方法,这就导致了不能通过构造一个子类对象,转换成抽象基类的对象来调用该静态方法,因为调用静态方法时不会调用子类的方法。
2010 1 5 04:52 PM 4551 次查看
分类:ABAP 标签:ABAP
好久没碰ABAP了,今天同事问我一个ALV的问题,稀里糊涂地解决了,于是记录下来。
这个问题是有一个可编辑的ALV表格,用户编辑完后点update按钮,需要将编辑后的数据更新到数据库。
2010 1 4 04:32 PM 4951 次查看
分类:编程 标签:JavaScript, Python, 性能
最近想在GAE上实现一个验证码,但又不想用传统的键盘输入方式。一来是习惯用鼠标,切换到键盘很麻烦;二来是生成图片的成本很大,在GAE上还不能用C实现;三是在让机器难以识别的同时,也会造成用户的困惑。
所以想到Google曾经提出的一个技术:提供一组选项,用鼠标将正确的选项拖动到指定位置,然后提交。
2010 1 4 01:34 PM 2499 次查看
分类:CSS 标签:CSS
2009 12 24 12:11 PM 1300 次查看
分类:JavaScript 标签:JavaScript
自从用了jQuery,我就对其他JavaScript框架提不起兴趣了,不过这个Como JS却值得一提,因为是中国人开发的,文档是全中文的,这就降低了学习成本。
2009 12 10 06:58 PM 1980 次查看
分类:JavaScript 标签:jQuery
刚才在jQuery的blog看到jQuery 1.4 Alpha 1发布了。
目前代码已稳定(通过所有支持的浏览器的测试),支持的特性也完整了,但还需要在实际应用中测试。
2009 12 10 05:15 PM 3876 次查看
分类:Python 标签:Python
前几天发现一个Python领域很流行的代码高亮模块:Pygments,用了下还不错,于是介绍一下。
2009 12 9 11:46 PM 15485 次查看
分类:编程 标签:无
最近想用版本控制软件来保存汉化文件,但又觉得SVN太麻烦,于是想到了最近较为流行的分布式版本控制工具。
而Git和Mercurial(意思为水银的,于是经常缩写为Hg)自然是其中最为流行的工具。大名鼎鼎的Linux就用Git作源码管理,而Python和Firefox则采用Hg(你可以在这找到一堆使用Hg的项目)。
比较了一番后,最终我选择了后者。因为Git的优势主要在于分支,而汉化并不需要太多分支;而Git对Windows的支持似乎不如Mercurial,ssh也比http麻烦,比较难教汉化组成员们使用;此外还有个特别的原因:Hg主要是用Python实现的(小部分使用C实现)。
当然,Hg也有个很严重的缺点:不支持针对单个文件夹的分支。如果剧本翻译和改图要建立分支都必须复制整个仓库,而对翻译来说,图像文件并不是他需要的部分。
2009 12 8 09:09 PM 2216 次查看
分类:Python 标签:Python
之前我曾写过《在Python中实现Decorator模式》,里面展示的例子都是一个函数封装另一个函数,然后返回封装后的函数,即:def decorator(func):
def wrapper(arg):
#做另一些事
return func(arg)
return wrapper
@decorator
def f(param):
#做一些事
虽然这就是正统的写法,但对于不太了解闭包的人来说,那个wrapper太难懂了,就会有种Decorator很恐怖的印象。
2009 12 8 12:50 PM 4657 次查看
分类:Python 标签:Python
事先声明一下,我只是一时兴起,绝对没有去做和谐的事,各位也请自重=。=
其实暴力破解字典就是将可输入的字符进行全排列,是非常简单的方法,只不过用C语言写起来很繁琐,因此我想到了Python。