23种设计模式
安夜的cookie
草深时见树,林深时见鹿,溪深时见瀑,山深时见雾。
展开
-
23种设计模式—⑤观察者模式
1.模式的定义与特点观察者(Observer)模式定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式。观察者模式是一种对象行为型模式,其主要优点如下:降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。目标与观察者之间建立了一套触发机制。它的主要缺点如下:目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。当观察者对象很多时,通知的发布会花费很多时间,影响程序的原创 2020-10-13 16:20:31 · 188 阅读 · 0 评论 -
23种设计模式—④策略模式
1.策略模式官方定义及分析策略模式也叫政策模式,允许程序在运行时选择一个算法执行,通常存在一类算法实现提供外部选择执行,这里的算法,也可以叫策略。定义一类算法,各自独立封装实现,并且相互之间是可替换的。除此之外,由客户端决定具体使用何种算法。两个定义中都提及到了算法一词,这里的算法含义比较宽泛,指的是一个业务操作。定义中提到的 通常存在一类算法实现提供外部选择执行 ; 定义一类算法,各自独立封装实现,并且相互之间是可替换的。 很像是父类中定义方法,不同的子类去重写方法,所以说策略模式体现的是原创 2020-10-10 16:53:52 · 220 阅读 · 1 评论 -
23种设计模式—③代理模式
代理模式是SpringAOP的底层分为静态代理和动态代理静态代理角色分析:抽象角色:一般使用接口或抽象类来解决真实角色:被代理的角色代理角色:代理真实角色,代理真实角色后,一般会做一些附属操作客户:访问代理对象的人用租房子来举个例子,抽象角色为租房子,真实角色为房东,代理角色为中介,客户为想租房的人首先时抽象角色,租房接口public interface Rent { ...原创 2020-01-18 22:11:31 · 161 阅读 · 0 评论 -
23种设计模式—②工厂模式
作用:实现了创建者和调用者的分离核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。先说说oop的几个原则开闭原则:一个软件的实体应当对扩展开放,对修改关闭依赖倒转原则:要针对接口变成,不要针对实现编程迪米特原则:只与你直接的朋友通信,而避免和陌生人接触工厂模式的实现要尽量遵循oop原则1、简单工厂模式用...原创 2019-12-19 18:46:00 · 188 阅读 · 0 评论 -
23种设计模式—①单例模式
单例模式:保证一个类只有一个实例,并且提供一个该实例的全局访问点单例模式的要素1.私有的静态的实例对象2.私有的构造函数(保证在该类外部,无法通过new的方式来创建对象实例)3.公有的、静态的、访问该实例对象的方法1、饥汉式public class Singleton1 { //1、私有化的构造方法 private Singleton1(){ ...原创 2019-12-04 18:10:03 · 155 阅读 · 0 评论