1、使用场景:内存属于稀缺资源,不能随意浪费,如果有多个完全相同或相似的对象,
实现代码如下:package com.tiger.factory;/** * 工厂方法 Food类 * @author tiger * */publiy;/** * *
抽象主题角色(Subject) 声明真实主题角色与抽象主题角色的公共接口方法,可以是接口
在静态代理的基础上演化而来,只是动态代理不需要自己编写代理类,由jdk自带的工具类动态产生(中间利用了反射技术)
1、使用桥接模式,将多个维度分开管理,减去多层继承的繁琐,客户端可以直接采用自由组合方式选择调用,多个维度的变化互不影响。 对比未使用桥接模式,电脑接口中直接管理两个职责(品牌[联想、戴尔、华硕]、种类[台式、笔记本、平板]),背离SRP设计原则2、代码演示如下:package com.tiger.bridge;/** * 管理品牌维度[联想、戴尔、华硕、...] *
接口可以随意更改替换成别的接口,也可以在其他包引入,(测试例子中的接口是Human),但只满足接口中定义的方法没有参数的情况下。
1、对静态代理的理解:定义一个接口,真实角色和代理角色都实现统一接口,客户只和接口打交道[客户直接与代
package com.tiger.simplefactory;public class CreateFactory { public Object getInstance(Class<
策略模式包含三种对象:1、环境对象:该类中实现了对抽象策略
观察者模
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号