Home

Previous 10

Jul. 5th, 2009

fedora 蓝色小药丸

面向概念

上次说"如果建立这样一个面向对象系统,其中不包含类的概念,只存在接口和对象,怎么样?",是五月了,到现在 OOA 这本书还是没看完。刚才看到说“继承和聚合可以替代”,觉得不太对。如果一个地方只接受某个接口,那么聚合就必须暴露自己的成员。先前还说要封装,现在就丢掉了。如果从 OOA 的层次想,既然是“可以替代”,那么就没必要强调是哪种方式,而且继承、聚合和关联是蕴含关系。究竟分析的内容是什么?如果把被分析的内容称为概念,从常理推断,分析的内容和结果就是概念的定义和概念之间的关系。如果在 OOA 时注重的是概念而不是类,就更容易说清楚问题:毕竟提到类就会提到继承还是聚合,跟实现就有很大的关系了。写到这里突然想,类之间的关系只有继承和聚合,这个分析框架/语言可真是贫乏,不过考虑到分析的目标之一是与人沟通,词汇表和逻辑还是简单些好。那么全用概念来说不是更简化。从实现上说,一个概念对应的是一组属性和操作,也就是一个接口的实现。目前的实现中,一个类可以实现多个接口,也可能并没有将属性和操作定义为接口。但是在面向概念的表述中,属性和操作必须划分到概念里,也就是一个类至少需要提供一个概念,可以提供多个。如果这样定义类,它就成了一个集合。将集合和元素引入分析的过程,就让 OOA 更简单,不存在那么多领域相关的内容(除了软件设计,谁会这么纠结于继承还是聚合呢)。可是话说回来, OOA 毕竟是方法论…… 回到“概念”上,根据上面的分析,继承和聚合都意味着类拥有了多个概念。如果是写一篇论文,在大约2/3的部分应该想想这个东西怎么应用起来,比如写个软件,将现有的分析导入,转换为概念表示,再转出 OOD 适用的表示,其中就可以按照使用者的喜好,加上一点点常识,自动选择用继承还是聚合。现在的小程序员都没这个常识(比如我就很纠结用哪一个更好),交给机器就不用烦恼了。代码翻译和自动重构也能用得上。刚才搜索 COP,发现了一个网站 http://conceptoriented.org/ 和上面这些不太一样,是跟 RPC 和控制流跳转相关的(是吗?),觉得搜索关键字应该换个 AOP 试试。在天台上想到,如果列出最近关注的词会列出多少?
AOP: aspect
BOP: binding
COP: concept
DOP: data
EOP: engine
FOP: framework
GOP: generics
HOP: 我也不知道这个冷笑话可以说多少了。
...
OOP
Wikipedia: 范畴论
Tags:

Jul. 3rd, 2009

fedora 蓝色小药丸

七月了

每半年立一次志向,周转周期短一些,就显得比“一年之际在于春”更有效率。

做了半年的WPF,接触到不少以MS-PL方式开源的库,或者像CodeProject那样不讲究License的代码。虽然不是GNU/Linux的那种感觉,可是也算是一种约定俗成的生态。

今天学到了一些管理的常识,要关注同事,让他们能最好地发挥——正是管理三要素的第二项。至于“产出”和“社会责任”,还需要对号入座。

喜欢写博客的人们哪!千万不要迷上了所谓的“微博客”。写 140 字的文章来填坑,久而久之就挖不出坑了!

发现需要用半个月的时间读一本500页的书,持续三个月。
Tags:

Jun. 8th, 2009

fedora 蓝色小药丸

反而后知后觉

跑到 blogbus 看了帖子才知道 LJ 解封

http://bbbush.livejournal.com/friends?skip=100 再往前就看不到了真是可惜。

Apr. 14th, 2009

fedora 蓝色小药丸

过年后一直在学用WPF

WPF 用 XAML 来写,再加上 LINQ 表达式有种 XSLT 的味道,再加上 WPF 的模型与 XSLFO 类似:这个工作对我来说还真是挺对口的。

不过魔鬼在细节里,所以还是折腾了很久。目前还在转变观念中,MVVM
解耦得太厉害,吹捧它的文章都有点过火了,可是并不是什么地方都合适:那么什么模式适合什么呢?最好是什么模式和工具都可以灵活运用,那就不是几个月能搞定的事情了。

WPF 的优势:强调对数据/命令的呈现应当解耦合,拥有完整的系统。这样系统地学习一个东西,希望对以后做其他的开发有所帮助。

Read more... )
Tags:

Dec. 29th, 2008

fedora 蓝色小药丸

周末

周五晚上什么也没有做。看到终于有超过三个人肯编辑 FP Wiki 了,还是挺开心。

周六下午参加了 InfoQ 的 QClub 聚会,学习了敏捷开发的内容。

周六晚上参加了 SZLUG 的聚会,看了拟用于定期聚会的场地,商量了关于 SZLUG 的一些事,了解了但非老师的需求,见到了freeflying和“OLPH”的Gdium笔记本。Read more... )

周日什么也没有做。看了好多集“银魂”,觉得做梦也开始稀里糊涂。——喂,谁想听你制造的这些流水帐吗。
Tags:

Dec. 18th, 2008

fedora 蓝色小药丸

Fedora Linux 10 于 11 月 25 日发布

Fedora Linux 是由美国 Red Hat 公司赞助开发的一种 Linux 发行版,用户众多,软件包丰富,项目比较活跃。11 月 25 日,Fedora Linux 发布了第 10 个版本。这个版本的代号是 "Cambridge",相比六个月前的第 9 版有诸多新特性和改进。Fedora Linux 10 的主要组件包括 kernel 2.6.27,GNOME 2.24 等等。Fedora Linux 10 首先引入了 "Plymouth",用来在启动过程中显示图形化的进度,改善了使用体验。Fedora Linux 10 的一个亮点是 "Solar" 主题外观,以熔融的蓝色星球为主要元素,蕴意无限的能量。下面是相关的截图。下载 Fedora 的地址是 http://fedoraproject.org/get-fedora ,相关的文档可以在 http://docs.fedoraproject.org/ 看到。Fedora 的中文论坛地址是 http://bbs.fedora-zh.org/ ,欢迎访问和提问。欢迎加入 Fedora 项目!

(本来投给公司内刊的,不过被退稿了,毕竟和公司业务没有关系)
另外还有 http://fedoraproject.org/wiki/zh 这个 Wiki 地址,算是我们的主页……
另外按照通告,“Fire it up”实在是应该翻译成“现在出发”的……
Tags:

Dec. 14th, 2008

fedora 蓝色小药丸

MirrorMagic 是个很好玩的益智游戏

刚运行的时候都不知道怎么玩,只看着激光能量不断减少,一会儿就 Game Over 了。找不到可以点击的地方。后来阴差阳错发现有些东西是可以点的,于是一局下来,各种物件的特性就都了解了——不晓得更多关卡会不会有更多物件呢?

开局:



左面是场景,右面是能量和发热情况。

胜利条件:




能量没有耗尽,发热没有超出限制,清除所有 stone,将激光发到接收器。注意激光的颜色由黄变红,作用与发热情况图示一样。

消灭左上角的 stone:





玩法就是点击小小的反射镜来调整角度。左键和右键分别是不同的时针方向,每次调整大约是 30 度?左上角有一个不断旋转的反射镜,可以一次干掉八个。

消灭其他 stone:


45度反射镜?不断变化方向的随机折射。




偏振光滤镜?只有相同方向才可以通过。三个这样的滤镜,有一个是自动旋转的。


最后,利用一个可以“移轴”的透镜组合:






注意如果激光多次在两个透镜间反射会造成发热,而直接照射太阳形状的加热器物件,温度会迅速上升。


安装:在 fedora 里,搜索 mirrormagic 即可安装。
Tags:

Dec. 13th, 2008

fedora 蓝色小药丸

看007电影"量子危机"

Tags:

Dec. 11th, 2008

fedora 蓝色小药丸

笑话一则:“No software is free and spreading that misconception is harmful”

http://linuxlock.blogspot.com/2008/12/linux-stop-holding-our-kids-back.html


"...observed one of my students with a group of other children gathered around his laptop. Upon looking at his computer, I saw he was giving a demonstration of some sort. The student was showing the ability of the laptop and handing out Linux disks. After confiscating the disks I called a confrence with the student and that is how I came to discover you and your organization. Mr. Starks, I am sure you strongly believe in what you are doing but I cannot either support your efforts or allow them to happen in my classroom. At this point, I am not sure what you are doing is legal. No software is free and spreading that misconception is harmful....


可怜的自由软件面对的是意想不到的敌人。

这位可怜的老师被骂得体无完肤,正如 cnBeta 上的 M8
Tags: ,
fedora 蓝色小药丸

Tor v0.2.1.8-alpha running

Tags:

Previous 10