设计模式
zaoanmiao
得搞。。这个得搞。。
展开
-
模拟观察者模式
import java.util.ArrayList;import java.util.List;/** * 观察者模式模拟当地震来临时,狗狗叫,居民跑,房子塌的场景 * 地震事件有三个属性,位置,耗时,强度 * 当位置赋值后,则就发生了地震,狗狗就会叫 * 当位置赋值,且耗时超过5秒,居民才会跑 * 当位置赋值,耗时超过5秒,且强度大于6的强度,房子才会塌 */public class ObserverModel { public static void main(Stri.原创 2021-08-29 11:57:29 · 156 阅读 · 0 评论 -
使用builder模式构建people
/** * 使用builder模式构建people */public class People{ String id; String name; int age; Shape shape; public static class PeopleBuilder{ People people = new People(); public PeopleBuilder baseInfo(String id, String name..原创 2021-07-25 12:35:56 · 107 阅读 · 0 评论 -
责任链完成双向过滤
使用一个责任链实现请求的request执行责任链的顺序是filter01、filter02返回的response执行责任链的顺序是filter02、filter01import java.util.ArrayList;import java.util.List;public class TwoWayChainPattern { /** * 使用一个责任链实现 * 请求的request执行责任链的顺序是filter01、filter02 * 返回的res原创 2021-07-24 22:33:48 · 115 阅读 · 0 评论 -
简单实现责任链模式
import java.util.ArrayList;import java.util.List;public class ChainOfResponsibilityPattern { /** * 预图将abcde:)?BugNo 改成http://www.ABCDE*_*!BUGYES * 因发现特殊字符Bug,则停止责任链并返回http://www.abcde*_*?BugYes * @param args */ public stati.原创 2021-07-24 20:39:46 · 188 阅读 · 0 评论 -
责任链模式代码示范
本次责任链采用简单的请假申请来处理。领导关系: 主任<副总监<总监//一次请假请求类public class LeaveRequest { private String leaveName; //请假者的姓名 private int leaveDays; //请假的天数 private String reason; //请假的原因 public...原创 2019-03-03 13:42:15 · 933 阅读 · 0 评论 -
装饰模式
这里没有对装饰模式的讲解,只有自己的理解和一些代码示例。下图是我对各个组件的命名。1、动态的为一个对象增加新的功能2、装饰模式是一种用于代替继承的技术,无需通过继承增加子类就能扩展对象的新功能(这样就比卖你了因为继承导致的同类型体系的快速膨胀 )。使用对象的关联关系代替继承关系,更加灵活。3、设计原则:类应该对扩展开放,对修改关闭。在不修改先有代码的情况下,而已搭配新的行为,这样使...原创 2019-01-01 23:45:18 · 141 阅读 · 0 评论 -
JDK通过实现接口的方式实现动态代理
动态代理,好比有一个机器人,可以将一个对象代理出一个代理对象,现实生活中例子,就好似一个影视公司,可以为艺人提供一个经纪人,这个经纪人就是代理了艺人,影视公司就是中介。JDK就可以做这个,但需要三个参数,分别是类加载器,中介对象,以及要代理的对象。接口:package com.test3;public interface Service { public String creat...原创 2018-08-15 06:33:07 · 697 阅读 · 0 评论 -
MVC简单介绍
原始开发方式是将jsp的前端html代码与后端逻辑层的代码耦合,现在将耦合的代码进行分离,解耦成前端的jsp界面的视图层和后端servlet对请求和响应处理的控制器层。M:model 指的是pojo、service、dao层V:view 视图层,用来展示后台响应发送过来的数据,触发事件的处理、人机的交互,比如jsp、springmvc框架C:controller 控制器层,用来对请求...原创 2018-08-14 12:14:22 · 275 阅读 · 0 评论 -
设计模式分类
设计模式可以分为:功能性设计模式:比如单例模式、代理设计,目的是完成某项功能;架构性设计模式,并没有提升功能,而是知道程序代码的摆放,改进了程序的机构,比如MVC设计模式(model view controller) ...原创 2018-08-14 12:05:39 · 106 阅读 · 0 评论 -
简单的接口和抽象类实现模板设计模式
一、先使用接口实现模板设计模式1、先写模板模式中大家公共的方法,将该方法放到一个接口里:public interface MyPublic { public void step02();}2、写模板类(step01和step03是公共的不变的方法,step02是公共各自需要实现改变的方法,也就需要传入一个实现类对象)public class MyTemplate {...原创 2018-07-13 16:47:46 · 1975 阅读 · 0 评论