设计模式
eddieVim
Undefined
展开
-
设计模式之迭代器模式(Iterator)
设计模式之迭代器模式(Iterator)提供一种方法顺序访问一个集合对象中的各个元素,而不暴露该对象的内部表示。迭代器模式在很多场景都有应用,例如链表的遍历操作,就需要用到迭代器。大数据中的迭代处理(避免出现多个中间数据集)等等。这里我们来自己实现ArrayList与LinkedList迭代器,加深对迭代器的理解。MyCollectionpackage pers.eddievim.dp.iterator;import java.util.Iterator;/** * @Author原创 2021-01-16 23:15:50 · 264 阅读 · 1 评论 -
设计模式之门面(Facde)、调停器(Mediator)、装饰器(Decorator)
门面(Facde)、调停器(Mediator)、装饰器(Decorator)门面模式(Facde)示意图用户调用的模块之间的关系错综复杂,使用门面模式来使得调用者调用更加方便直接。案例SpringMVC中的DispatcherServlet把本来需要请求多个接口的业务改成只请求一个接口的业务调停器(Mediator)示意图模块之间错综复杂的调用关系,通过引入一个中间协调者来解耦模式之间的复杂关系。案例消息队列装饰器模式(Decorator)顾名思义就是给类加一原创 2020-08-26 17:00:44 · 488 阅读 · 0 评论 -
设计模式之工厂模式(Factory)
工厂模式Factory任何可以产生对象的方法和类,都可以称之为工厂单例也是一种工厂为什么有了new关键字后还需要工厂模式?灵活控制控制对象的权限,作用范围等信息简单工厂Simple Factory通过一个工厂类去获得一类实体类 or 接口 or 抽象类的实例,称为简单工厂。代码演示UML关系图Produce类package pers.eddievim.dp.factory;/** * @author eddieVim * @微信公众号 埃迪的Code日记 / Pos原创 2020-08-23 23:00:01 · 209 阅读 · 0 评论 -
设计模式之策略模式(Strategy)
策略模式Strategy策略模式顾名思义就是设计者只需要提供接口,而让别人来制定具体的策略在不同的接口实现中。在方法Arrays.sort(T[] arr, Comparator<? super T> c)与Collection.sort(T[] arr, Comparator<? super T> c)中可以去实现Comparator接口(制定排序策略),以达到自定义排序的目的。大家可以具体看看这两个方法的源码,去了解策略是如何应用到具体的排序算法中。这边为了方便讲解原创 2020-08-22 15:10:16 · 148 阅读 · 0 评论 -
设计模式之单例模式(Singleton)
单例模式Singleton饿汉式单例类一加载就初始化优点:简单实用;多数情况,可这样写缺点:不管是否用到,只要类被加载就初始化了,占用内存Demopackage pro.eddievim.singleton;/** * 饿汉式单例 * 类一加载就初始化 * 优点:简单实用;多数情况,可这样写 * 缺点:不管是否用到,只要类被加载就初始化了,占用内存 * * @author eddievim * @blog https://blog.csdn.net/weixin_44129原创 2020-08-18 16:30:12 · 128 阅读 · 0 评论