
设计模式
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 · 114 阅读 · 0 评论 -
设计模式-->行为型模式-->观察者模式
观察者(observer)模式原理observer:接收输入观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化 比如一个定奶项目:这里的奶站是Subject 是1这一方,用户Observer是多的一方一个应用在天气气象通知的观察者demo//一个观察者 package com.ljb.meteorologicalservicesPro;/** * Copyright (C), 2.原创 2022-04-25 09:58:23 · 105 阅读 · 0 评论 -
设计模式-->结构型模式-->装饰模式
装饰者:动态的将新功能附加到对象上装饰者模式定义:1)装饰者模式:动态的将新功能附加到对象上 在对象功能扩展方面 他比继承更加有弹性 装饰者模式也体现了开闭原则(OCP)2)这里提到的动态的将新功能附加到对象那个和OCP原则 在应用实例上会以代码的形式体现一个使用装饰者模式的小demo:解决星巴克咖啡订单问题分析两种对象:1、被装饰者(单品咖啡) 2、装饰者(咖啡)(对象里面可以包含被装饰者)这两者产生关系 产生==》主体 component//一个饮品类pack原创 2022-04-25 09:44:47 · 92 阅读 · 0 评论 -
设计模式-->结构型模式-->代理模式
为什么学代理?因为这就是springAOP的底层(springAOP和springMVC)1、静态代理(方便横向开发)角色分析:抽象角色:一般会使用接口 或者抽象类来解决真实角色:被代理的角色代理角色:代理真实角色 代理真实角色后 我们会进行一系列操作客户:访问代理对象的人一个简单的静态代理demo:该demo的真实角色:Host类 实现rent接口package com.proxytest.demo2;/** * Copyright (C), ...原创 2022-04-25 09:29:35 · 81 阅读 · 0 评论 -
设计模式-->创建型模式-->抽象工厂模式
1、抽象工厂(抽象的抽象)(超级工厂 创建工厂) 不可以增加产品 可以增加产品簇(大类 )产品族:一个品牌下面的所有产品;例如华为下面的手机,路由器,电脑 称为华为的产品族;产品等级:多个品牌下面的同种产品;例如华为和小米下面的手 称为一个产品等级;...原创 2022-04-25 09:12:42 · 124 阅读 · 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 · 89 阅读 · 0 评论 -
设计模式-->创建型模式-->单例模式
第一先解释一下创建型:创建型:使得对象的创建与使用分离单利模式==》直白点 构造器私有化 (外部不能创建该类的对象)只有加载类或者调用一定的方法才可创建对象,但是这并不是一定(毕竟还有反射这个bug,它可以获取类的私有构造方法)1、饿汉式:直白点:就是说在类的加载时,不会管你用不用,都会给你想创建(这也是他的缺点,如果你一直不用 那不就造成浪费了么)贴一个饿汉的demopackage com.ljb.hungerMan;/** * Copyright (C), 2022-2030原创 2022-04-25 08:37:07 · 75 阅读 · 0 评论