设计模式
熟练使用后再回来写一下
dengjili
一个人在党性、真诚、智慧三样东西中,只可能拥有两样
update by 2022/2/9
同时拥有党性、真诚、智慧,已经不是普通人
展开
-
组合模式
组合模式组合模式主要表现形式为树型结构,有一个整体和部分的关系,如我们平时使用的省份,县市,区县等下面我们来看一个例子这是一家餐厅的菜单结构,现在我们需要将其遍历输出 引入组合模式设计 对应代码基类代码package headfirst.hd.composite.eg;public abstract class Component { // 集...原创 2018-03-26 22:48:06 · 358 阅读 · 0 评论 -
拦截过滤器模式
过滤器拦截器的目的是想在做一些事前之前,处理一些动作,主要是思想,具体实现都是无所谓的设计思想拦截器可以采用链表或者数组实现,这里采用ListdoSomething这里采用静态代理,返回一个拦截器代理类,执行doSomething简单的代码实现原操作类public class Person { public void doSomeThing(String msg) { S...原创 2018-09-29 17:45:19 · 924 阅读 · 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 · 7193 阅读 · 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 评论