首页 > 代码库 > JAVA设计模式有感

JAVA设计模式有感

      记得在大学学JAVA那阵,就觉得JAVA是一个c语言的一个包装,各种封装好的类库、功能,学习JAVA能快速上手编码。时隔8年,我感觉自己不懂JAVA。

      最近看了有1个月的设计模式了,进度比较缓慢,一共才看了4个"策略模式",“观察者模式“,”装饰者模式“,”工厂模式“。也谈一谈自己的感受。其实这些设计模式以前也看过,当时的水准也就是硬生生记下了每个设计模式是怎么运作的,从没有想过它遵循了什么原则,达到了什么目的。因此,看过一遍之后,什么也没记住。

      这次的学习,我觉得我可以看懂70%的设计模式的原理了,还有30%可能需要以后反复研读才可以摸索到。我把这些设计模式与工作中的项目进行对号,一旦能对上,就会牢牢的记住,这就是工作经验的好处吧~


      下面我做一下这1个月学习设计模式的笔记,此处图片转载《Head First 设计模式》:

一、策略模式

定义:定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。

设计原则:针对接口编程,而不是针对实现编程。

设计原则:多用组合,少用继承。


二、观察者模式

定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

设计原则:为了交互对象之间的松耦合设计而努力。


三、装饰者模式

定义:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的代替方案。

设计原则:类应该对扩展开放,对修改关闭。


四、工厂模式

定义:定义了一个创建对象的接口,但由子类决定需要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

抽象工程(组合)

工厂方法(框架、继承)