设计模式
云中喵
生死看淡,不服就干
展开
-
Java设计模式篇之观察者模式
定义:观察者模式,在对象那个之间定义一对多的依赖,这样一来,当一个对象改变状态,依赖他的对象都会收到通知,并自动更新。 原则:为交互对象之间的松耦合设计而努力。 一般在读代码的时候遇到有注册功能的代码时,就应该想到这里是不是用了观察者模式,观察者模式中有主题对象和观察者,那么主题对象就是通过注册功能来确定,它到底有那些观察者。 还是举一个例子来说明一下,有个气象站,需要收集气象数据,然后显示在...原创 2019-03-31 17:03:59 · 117 阅读 · 0 评论 -
Java设计模式篇之策略模式
记得之前一个帖子说过,设计模式不用刻意的学,可以在代码实践中慢慢总结,但是我觉得想要阅读一个现有系统或者一个框架的源码,学习一些常用的设计模式还是有必要的,废话不多说,直接将进入正题。 定义:策略模式定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 原则:封装变化;组合优于继承;针对接口而不是针对实现编程 看着感觉有点似懂非懂的,直接上代码示例吧。 示...原创 2019-03-24 18:38:18 · 87 阅读 · 0 评论 -
Java设计模式篇之装饰者模式
定义:动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。 原则:对扩展开放,对修改关闭 当阅读代码时,发现在new一个对象时传递的参数也是new的一个对象,而参数对象的参数也是new了一个对象,而且这些对象直接或间接的继承了一个基类,那么就很有可能时装饰者设计模式,可以把装饰者模式理解为一种功能增强。 比如Java I/O就是典型的装饰者模式: InputStream ...原创 2019-04-14 18:02:38 · 114 阅读 · 0 评论 -
Java设计模式篇之工厂模式
定义:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类 原则:要依赖抽象,不要依赖具体类 通俗的理解就是,需要在代码中创建某个类的各种子类,每次都需要关键字new来创建,带来的问题是当类变化时,那么散落各处的代码维护起来不方便,这个时候就需要统一管理这些类的创建,那么就有了工厂的概念。 来看一个简单的代码: public class SimplePiz...原创 2019-05-31 21:41:42 · 142 阅读 · 0 评论 -
Java设计模式篇之单例模式
定义:确保一个类只有一个实例,并提供全局访问点 单例模式应该是设计模式中最容易理解的一个模式了,但是要写一个健壮的单例类,还是要花点功夫的。 来看一个经典的单例模式实现: public class Singleton{ private static Singleton uniqueInstance; private Singleton(){} public static Singleto...原创 2019-05-31 23:20:42 · 156 阅读 · 0 评论