随笔分类 - 大话设计模式
大话设计模式:建造者模式
摘要:建造者模式适用于对象属性太多的情况 有一个属性非常多的类:Person public class Person { private String a; private String b; private String c; private String d; private String e; pr
大话设计模式:策略模式
摘要:策略模式一般用法就是一个接口有多个实现类,每个实现类都是对接口的不同实现,均代表了接口的不同实现形式,比如说,一个计算的接口,你不必在接口中定义加减乘除的抽象方法,仅需要一个抽象方法,多个实现类来实现这个接口中的抽象方法即可。 普通用法 抽象接口 /** * 计算接口 * * @author zha
大话设计模式:工厂模式
摘要:SimpleFactory 说到工厂,我们应该能想到,造汽车的有汽车工厂,造轮船的有轮船工厂,映射到Java中,造对象的就应该有对象工厂,比如说我想要买一辆车,那我只需要去汽车工厂(先不去4S店)里面告诉它什么品牌的汽车,具体参数,给钱提车就完了,我并不需要了解汽车是如何造出来的,也就是屏蔽了造车的
大话设计模式:模板方法模式
摘要:什么是模板方法?即让工作或流程顺序按照写好的模板进行下去,同时还可以自定义流程,以及简化流程。 举例:冲泡茶和咖啡均分四步进行: 把水煮沸 冲泡咖啡(茶) 把咖啡(茶)倒入杯子 加糖(柠檬) 一般写法 咖啡类 public class Coffee { public void prepare() {
Java静态代理与动态代理 理解与应用场景
摘要:角色 抽象角色:接口类 实现角色: 实现类 代理角色:代理实现的类,最终使用的对象 静态代理 1. 接口 2. 被代理类 3. 代理类 优点:使用者只关心业务逻辑,不需要着眼内部实现,方便后期的变更和部分共用代码的统一处理。缺点:当代理类中出现的被代理类越来越多时,内部就会显得非常臃肿。反而不利于管
大话设计模式:动态代理模式
摘要:由于静态代理带来扩展性差,可维护性差等缺点,所以就有了动态代理模式。 下面介绍一下JDK的动态代理: 动态代理有两个重要的类: 1. Proxy类: 它是所有动态代理类的父类,同时提供一个静态方法来创建代理类的实例,方法名叫:newProxyInstance 2. InvocationHandler
大话设计模式:静态代理模式
摘要:代理模式分为静态代理和动态代理,本篇先介绍一下静态代理。将“静态代理”拆成“静态”和“代理”,什么是代理?其实我们生活中处处都存在代理。 事例一:比如去超市买东西,超市其实就是一个代理点,因此超市还叫代售点,因为超市本身不会生产东西,真正生产东西的是厂商,而我们消费者是不会直接去厂商买东西,而是通过