设计模式
熟练使用后再回来写一下
dengjili
一个人在党性、真诚、智慧三样东西中,只可能拥有两样
update by 2022/2/9
同时拥有党性、真诚、智慧,已经不是普通人
展开
-
组合模式
组合模式 组合模式主要表现形式为树型结构,有一个整体和部分的关系,如我们平时使用的省份,县市,区县等 下面我们来看一个例子 这是一家餐厅的菜单结构,现在我们需要将其遍历输出 引入组合模式设计 对应代码 基类代码 package headfirst.hd.composite.eg; public abstract class Component { // 集...原创 2018-03-26 22:48:06 · 361 阅读 · 0 评论 -
拦截过滤器模式
过滤器 拦截器的目的是想在做一些事前之前,处理一些动作,主要是思想,具体实现都是无所谓的 设计思想 拦截器可以采用链表或者数组实现,这里采用List doSomething这里采用静态代理,返回一个拦截器代理类,执行doSomething 简单的代码实现 原操作类 public class Person { public void doSomeThing(String msg) { S...原创 2018-09-29 17:45:19 · 928 阅读 · 0 评论 -
责任链模式
责任链模式 对于一个请求,可能有多个处理者,将处理着连接成一个链 如部门里面有一个张三,张三要报销1500元交通费,根据公司规定,1500元属于部门经理审批,所有这个请求应该由部门经理处理 实现思路 采用链表方式模拟链 具体代码 申请人信息 // 申请人信息 public class Request { private String name; private float price...原创 2018-09-29 20:39:46 · 143 阅读 · 0 评论 -
访问者模式
想要为一个对象增强新的行为,且不封装具体的实现,那么就用访问者模式 一般我们都是使用访问者模式增添遍历行为,这是一个误区。 模型 Element 表示要增强的行为,即accept方法 elementA 代表原有对象 visitor表示抽象接口 visitorA表示具体的行为实现 改进之前的例子 组合模式中的列子:https://blog.csdn.net/dengjili/article/d...原创 2018-10-30 13:35:30 · 7195 阅读 · 2 评论 -
委托模式,简单工厂方法的演进
回顾简单工厂方法 将factory类作为animal接口及其子类的容器,如果需要获取Animal,只需要从factory中获取即可。 具体的代码实现 接口和实现 public interface Animal { void run(); } public class Dog implements Animal{ @Override public void run() { Syst...原创 2018-11-03 15:15:58 · 495 阅读 · 0 评论