周末参加了雅各布森(Ivar Jacobson )公司的《实用软件架构》培训,些许感受,权记在次。
1 、老外培训师的第一张幻灯片居然是关于后勤(logistics)的,什么饮水、午餐、洗手间、通讯等等。——呵呵,专业细致。
2、什么是 Architecture?"Architecture is about everything, but it is not everything. " 这个定义像打太极,不过如果要清晰的描述Architecture,确实比较困难。
3、第一次听说 Minimal Design 和 Extension Design 的概念。我所理解的 Minimal Design 就是对一个系统主要业务逻辑的设计,完成了这个设计就可以构建出这个系统的粗略架构;而 Extension Design 则是主要业务逻辑的扩展,比如Exception处理、log处理等。
4、Extension Design的几种开发模式: Aspects、Inheritance 、Decorator Pattern、 Dynamic Proxy、Required Interfaces。在我的开发中,Extensions 的设计(如系统log的设计)一直没有更好的解决办法,感觉 Aspects 倒是一个好的思考方式。没有试验过Aspects编程,也不知道国内有没有公司在实际系统中使用过 Aspect。
4、 Java语言的特点非常有利于实现一个优秀的软件架构。没有学习过Java ,看来要理解和实现这些架构模式,得学习一下Java ,或者C#了。
5、可惜时间短,只能参与部分设计,如果能够全面完成一个系统从需求