2008年9月7日星期日

运行时

以前的datamodel过于复杂,而且对于未来的计划是早晚要替换掉旧代码,那么如何隔离旧的接口给新的API呢?
我的方法是:定义一个新接口、新的一些class,用旧的class实现这个新接口。外面的模块使用旧的Class的地方,都用新接口引用。
Willie则直接了当的用了extends。
Willie把FConnector继承Thread的关系掐掉了。Connector确实没必要以thread的方式运行。因为其下的session是个thread。牛人终归是牛人,下手就是地方。
总的说来,脑袋里有个动态的系统运行某型至关重要,静态的类图是不够全面的,从某种意义上来说动态模型才是一个真正的程序模型。
最为一个senior的programmer 每个UseCase的call sequences,一定要能在脑袋里流出来,这都搞不定,别提可靠性。
对于高手,代码就是设计。这句话的含义就是对于高手来说,它的大脑就是一个JVM,他知道一个程序从某点执行下去到某点,这个JVM里有几个class,每个class有几个instance, 有多少个线程。
没这水平,就先用UML画点图,自己琢磨琢磨吧。
Spring这个东西得到了公认。除了其中的IoC、AOP这些概念外,其配置文件的功能--装配,不就是强制让你考虑了系统启动时的个对象、实例的各种关系(静态/动态)么?