![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
一棵大白杨
学习->消化->输出。
展开
-
04单例模式
单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供全局访问点。 使用场景 需要确保程序中的某个类只有一个实例时,就采用单例模式; 利用延迟实例化的方式创建单例,对资源敏感的对象特别重要。 要点 确保程序中一个类最多只有一个实例; 单例模式也提供访问这个实例的全局点; 在Java中实现单例模式需要私有的构造器,一个静态方法和一个静态变量。 经典的单例模式 public class Singleton { private static Singleton singlet原创 2020-11-19 23:27:07 · 116 阅读 · 4 评论 -
03装饰者模式
装饰者(Decorator Pattern)模式 动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 被装饰类(饮料) public abstract class Beverage { String description = "Unknown Beverage"; public String getDescription() { return description; } //必须在子类实现 public abstra原创 2020-11-10 00:34:01 · 79 阅读 · 0 评论 -
02观察者模式
观察者模式(Observer Pattern)定义 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它所有依赖者都会收到通知并自动更新。 建立可观察者接口 public interface Subject { //持有观察者对象,因为Observer被观察者实现,所以可以通知update到观察者信息 public void registerObserver(Observer observer); public void removeObserver(Observer原创 2020-11-10 00:33:09 · 80 阅读 · 0 评论 -
01策略模式
策略模式(strategy pattern)定义 定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 分开变化和不会变化的部分 Duck类内的fly()和quack()行为会随着鸭子的不同而改变,属于变化的部分,将它们从Duck中抽取出来,建立一组新类代表每一种行为。 设计鸭子的行为 以往:行为来自于继承Duck超类的具体实现,或是继承某个接口后由子类自行实现而来。这两种方法都依赖于实现,没办法改变行为。 现在:Duck的子类将使用接口(FlyBehavio原创 2020-11-10 00:30:22 · 151 阅读 · 2 评论