摘要: 概论 什么是迭代器模式?迭代器模式是提供一种方法访问一个容器对象中的各个元素,而又不需要暴露该对象的细节。 迭代器模式示例 迭代器模式中分为4种角色。 ①抽象迭代器 ②具体迭代器 ③抽象容器 ④具体容器 首先我们一个抽象迭代器,抽象迭代器中包含遍历到下一个元素、判断遍历是否已经到了尾部、删除当前指向 阅读全文
posted @ 2018-12-13 19:49 冰糖小城 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 概论 什么是外观模式呢?外观模式是指在子系统之间,引入一个统一的外观对象。外观模式是一个高层次封装。 外观模式示例 在互联网软件生态中,电商行业的发展非常之迅猛。单一系统或者简单集群已经满足不了业务日益增长的需要,于是需要对系统拆分。用户系统,订单系统,商品系统。我们系统中开发了三个服务,分别是用户 阅读全文
posted @ 2018-12-11 19:30 冰糖小城 阅读(323) 评论(0) 推荐(1) 编辑
摘要: 概论 什么是适配器模式呢?将一个类的接口变成客户端所期待的另一种接口,从而使原本不匹配而不能再一起运作的两个类在一起工作。上文讲述的装饰模式,是包装模式,而适配器模式也是包装模式。 适配器模式示例 在互联网生态中,电商行业的发展非常的迅猛,单一应用部署和简单集群部署已经满足不了日益增长的用户数量。会 阅读全文
posted @ 2018-12-10 19:01 冰糖小城 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 概论 什么是观察者模式呢?观察者模式也叫发布订阅模式。定义对象间一种一对多的依赖关系,是的每当一个对象改变了状态,则所有依赖于它的对象都会得到通知并且自动更新。 观察者模式示例 首先我们定义一个抽象的观察者: 一般定义为接口,第3行,提供一个接口用于接收被观察者的动态。我们再增加一个具体的观察者: 阅读全文
posted @ 2018-12-07 19:00 冰糖小城 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 前言 什么是装饰模式呢?装饰模式是指动态地给一个对象添加额外的职责。因此装饰,也叫对象的包装。 装饰模式示例 互联网行业的迅猛发展,涌现了不计其数的Java开发工程师,想想必大家都很清楚,需求有产品经理把控,设计和开发一般是开发人员开发。软件测试由测试工程师负责。部署上线一般来说是实施人员,但是有很 阅读全文
posted @ 2018-12-06 19:08 冰糖小城 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 概论 什么是原型模式呢?用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这个模式就叫作原型模式。原型模式属于对象创建者模式。 原型模式示例 首先我们需要有一个原型。这个原型实现了Cloneable空接口。这是一个标记接口,并无任何的方法。 第9行-12行:采用lambok注解,简化了 阅读全文
posted @ 2018-12-03 19:18 冰糖小城 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 前言 为什么要再谈,因为动态代理是aop编程的核心。后面分析spring aop的源代码的最重要的理论基础。 再谈动态代理 首先动态代理需要哪些角色呢? 1.抽象角色。这个抽象角色必须为接口。 2.具体角色。这个具体角色必须实现抽象接口。 3.IAdvice接口和BeforeAdviceImple实 阅读全文
posted @ 2018-12-01 13:20 冰糖小城 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 前言 上篇我们演示了使用JDK的InvocationHandler实现动态代理,本文我们采用cglib来实现动态代理。 动态代理示例 运用JDK的InvocationHandler是根据抽象接口来实现的,然而基于cglib来实现动态代理,被代理角色可以是一个普通的类,也可以是一个接口的实现类,总之, 阅读全文
posted @ 2018-11-30 19:38 冰糖小城 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 前言 什么是动态代理呢?动态代理指的是在实现阶段不需要关心代理谁,而是在运行阶段才指定哪一个对象。 动态代理示例 首先要介绍一下JDK提供的一个动态代理接口 InvocationHandler。这个接口的用途在于对代理类的方法进行代理,我们先实现InvocationHandler接口: 第3行:声明 阅读全文
posted @ 2018-11-30 12:26 冰糖小城 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 前言 代理模式分为静态和动态。同时静态代理又分为普通代理和强制代理。因此本文会通过示例的方式详细介绍着静态的两种代理模式。我们依然以网上购物为例。 普通代理 定义:要求客户端只能访问代理角色,而不能直接访问真实角色。我们需要修改真实角色: 第5行-10行:限制了谁能够创建真实对象,同时传递登录账号。 阅读全文
posted @ 2018-11-29 19:32 冰糖小城 阅读(361) 评论(0) 推荐(0) 编辑