设计模式
sw_Ljb
代码爱我 我爱代码!
展开
-
设计模式-->行为型模式-->职责链模式
职责链模式(chain of responsibility pattern):有叫责任链模式,为请求创建一个接受者对象的链(简单示意图),这种模式对请求的发送者和接受者进行解耦 职责链模式通常每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么他会把相同的请求传给下一个接收者 //一个抽象的处理者 package com.ljb.Approver; /** * Copyright (C), 2022-2030, Chongqing Mac info. Co., Lt...原创 2022-04-25 10:09:56 · 103 阅读 · 0 评论 -
设计模式-->行为型模式-->观察者模式
观察者(observer)模式原理 observer:接收输入 观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化 比如一个定奶项目:这里的奶站是Subject 是1这一方,用户Observer是多的一方 一个应用在天气气象通知的观察者demo //一个观察者 package com.ljb.meteorologicalservicesPro; /** * Copyright (C), 2.原创 2022-04-25 09:58:23 · 84 阅读 · 0 评论 -
设计模式-->结构型模式-->装饰模式
装饰者:动态的将新功能附加到对象上 装饰者模式定义: 1)装饰者模式:动态的将新功能附加到对象上 在对象功能扩展方面 他比继承更加有弹性 装饰者模式也体现了开闭原则(OCP) 2)这里提到的动态的将新功能附加到对象那个和OCP原则 在应用实例上会以代码的形式体现 一个使用装饰者模式的小demo:解决星巴克咖啡订单问题分析 两种对象: 1、被装饰者(单品咖啡) 2、装饰者(咖啡)(对象里面可以包含被装饰者) 这两者产生关系 产生==》主体 component //一个饮品类 pack原创 2022-04-25 09:44:47 · 71 阅读 · 0 评论 -
设计模式-->结构型模式-->代理模式
为什么学代理?因为这就是springAOP的底层(springAOP和springMVC) 1、静态代理(方便横向开发) 角色分析: 抽象角色:一般会使用接口 或者抽象类来解决 真实角色:被代理的角色 代理角色:代理真实角色 代理真实角色后 我们会进行一系列操作 客户:访问代理对象的人 一个简单的静态代理demo: 该demo的真实角色:Host类 实现rent接口 package com.proxytest.demo2; /** * Copyright (C), ...原创 2022-04-25 09:29:35 · 61 阅读 · 0 评论 -
设计模式-->创建型模式-->抽象工厂模式
1、抽象工厂(抽象的抽象)(超级工厂 创建工厂) 不可以增加产品 可以增加产品簇(大类 ) 产品族:一个品牌下面的所有产品;例如华为下面的手机,路由器,电脑 称为华为的产品族; 产品等级:多个品牌下面的同种产品;例如华为和小米下面的手 称为一个产品等级; ...原创 2022-04-25 09:12:42 · 99 阅读 · 0 评论 -
设计模式-->创建型模式-->工厂模式
工厂模式的的作用:实现创建者 调用者分离 1、简单工厂模式(静态工厂模式 方法都是静态的) 提供一个类--》工厂 (负责返回一个可有工厂生产出的对象) 缺点:增加一个产品 不修改类是做不到 不满足开闭原则 增加新的 必须扩展已有代码 eg: //一个工厂类 package com.ljb.simplefactory; /** * Copyright (C), 2022-2030, Chongqing Mac info. Co., Ltd. * * @author Sw_Ljb原创 2022-04-25 08:53:10 · 74 阅读 · 0 评论 -
设计模式-->创建型模式-->单例模式
第一先解释一下创建型: 创建型:使得对象的创建与使用分离 单利模式==》直白点 构造器私有化 (外部不能创建该类的对象)只有加载类或者调用一定的方法才可创建对象,但是这并不是一定(毕竟还有反射这个bug,它可以获取类的私有构造方法) 1、饿汉式:直白点:就是说在类的加载时,不会管你用不用,都会给你想创建(这也是他的缺点,如果你一直不用 那不就造成浪费了么)贴一个饿汉的demo package com.ljb.hungerMan; /** * Copyright (C), 2022-2030原创 2022-04-25 08:37:07 · 60 阅读 · 0 评论