西行漫记(12):对象,结束与开始

昨天是Object Bootcamp的最后一个session。时间过得真快,一转眼三周都快过去了。object上到最后,让我想起了一件很久远以前的事情:变化点/不变点分析。第一次看到这个概念是在Design Patterns Explained里面,但真正写程序的时候很少真正用这种分析思路,更多的是凭直觉,一眼看过去就决定怎么做。虽然大多数时候的选择大致不差,但常常比较难说清楚为什么要这样做。使用变化点/不变点分析,可以找到设计的原因所在。下周开始的object特训中,要开始尝试用这种方式思考。

一个有趣的发现是,现在越来越喜欢用command模式——也就是说越来越喜欢对行为建模。老师讲了一个例子,大概的意思是要表明:行为有区别用不同类型封装,数据有区别用同一类型封装。这样的话,就意味着区分数据与行为了……然则我还没有找出解释这个现象的原因。小陶谈了他的DSL设想,追问之下发现特点就是“动词 名词 名词”结构,那么不就是LISP了么?我的想法倒是,在Ruby里面设计一些结构,让functor能够比较漂亮地组合和调用。

今天早上的课是Architecture,主要是Layered Architecture,顺带提了一下SOA与Event-Based。我对于异步调用似乎比较没感觉……照我的想象,真正的程序员应该是对异步和并发很清晰的,而我就很惭。正所谓,学无止境阿。

你可能感兴趣的:(设计模式,数据结构,Ruby,SOA,lisp)