首页 > 代码库 > JAVA设计模式有感
JAVA设计模式有感
记得在大学学JAVA那阵,就觉得JAVA是一个c语言的一个包装,各种封装好的类库、功能,学习JAVA能快速上手编码。时隔8年,我感觉自己不懂JAVA。
最近看了有1个月的设计模式了,进度比较缓慢,一共才看了4个"策略模式",“观察者模式“,”装饰者模式“,”工厂模式“。也谈一谈自己的感受。其实这些设计模式以前也看过,当时的水准也就是硬生生记下了每个设计模式是怎么运作的,从没有想过它遵循了什么原则,达到了什么目的。因此,看过一遍之后,什么也没记住。
这次的学习,我觉得我可以看懂70%的设计模式的原理了,还有30%可能需要以后反复研读才可以摸索到。我把这些设计模式与工作中的项目进行对号,一旦能对上,就会牢牢的记住,这就是工作经验的好处吧~
一、策略模式
定义:定义了算法簇,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。
设计原则:针对接口编程,而不是针对实现编程。
设计原则:多用组合,少用继承。
二、观察者模式
定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
设计原则:为了交互对象之间的松耦合设计而努力。
三、装饰者模式
定义:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的代替方案。
设计原则:类应该对扩展开放,对修改关闭。
四、工厂模式
定义:定义了一个创建对象的接口,但由子类决定需要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
抽象工程(组合)
工厂方法(框架、继承)