设计模式学习感想

设计模式实际上是良好的OO思想的一种提炼。每一种设计模式后面都体现了一种良好的OO思路,这些思路对于解决软件中常见的“change”问题有很大的适应性,而每种模式又有自己独特的解决思路,带有一定的通用性。而组合各种模式又可以解决许多常见问题。不可否认的是,还存在一些未经总结的设计模式。实际上,你自己也可以总结一些模式出来。无论怎样,设计模式仍然是面向对象,它不是新东西,也没有必要言必称设计模式似乎不懂设计模式就落伍了,但给OO的开发者提供一个言简意赅的沟通桥梁。

 
设计模式告诉了我们什么是好的
OO思想,思考如何更好的应用OO的思想虽然还是那几个耳熟能详的术语:封装、继承、组合、多态。

 
设计模式首先是对传统的
OO使用方法的矫正:如针对接口编程而不是实现;优先使用组合,而不是继承。其次是在原来理解上的突破:封装是对变化而言的,不仅仅是属性和方法的集合。类不仅是现实事物的抽象,同时它还具有责任。更有创新:依赖式注入。

 

=====

Part2--2008-1-11

最近学了一点Ruby,发现很少提及设计模式之类的东西,就连AOP这样的高级玩意,有的帖子也讲Ruby并不需要.反正在Java中提的很多的"热词",在Ruby的世界中都是"冷"的.

设计模式,AOP,泛型这样的东西为什么对于Java是必要的?

因为它缺!这样回答是一句废话.

换个说法: Java在语法层面先天缺少一些超前的设计,本来它就是对于C++的改进,冲着简化C++的使用而去的.在C++中使用复杂的地方,我们都会觉得用Java要方便.再联想到EJB的设计,更是让人觉得SUN的工程师们是怎样的思考方式了:基于对于现有技术的改进,而鲜有加入新技术.在对于改进现有技术的能力上,的确有不少创新点.比如跨平台的设计,多线程直接借助语言层面,EJB的分布式处理.但是在改进Java自身的能力上,却很少有惊艳之处:JDK5的泛型,JDK6的脚本语言支持.Java对于泛型的设计实在赶不上C++!而加入对动态语言的支持,不外乎扩展JVM的能力,也是希望动态语言能利用原有的Java资源.这是整合,接旧,而不是改进!

Java最大的贡献在于引领了计算机技术的又一次勃发,看看在Java出现后计算机界出现的巨大变化就可以想象得到了--看看M$就很清楚这一点了.

你可能感兴趣的:(java,设计模式,AOP,OO,Ruby)