![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Nicl
这个作者很懒,什么都没留下…
展开
-
设计模式之单例模式
单例模式之前看过单例模式,昨天突然用到,就再回顾并总结了一下,当做复习。核心:保证一个类只有一个实例,并且提供一个访问该对象的全局访问点常见应用场景:Windows的任务管理器Windows的回收站项目中,读取配置文件的类,一般也只有一个对象,没有必要酶促使用配置文件数据,每次new一个对象去读取.........优点:由于单例模式只生成一个实例, 减少了系统性能开销,当一个对象的产生需要比较多的...原创 2018-04-13 14:00:40 · 201 阅读 · 0 评论 -
设计模式之外观模式
简介:《设计模式》对外观模式的定义:为子系统中的一组接口提供一个统一接口,外观模式定义了一个更高层的接口,使子系统更加容易使用。也就是说:外观模式隐藏了系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。外观模式结构图:角色: 1:门面角色(Facade):外观模式的核心,被客户角色所调用,它熟悉子系统的功能 2:子系统角色:实现了子系统的功能...原创 2018-10-08 19:32:20 · 375 阅读 · 0 评论 -
设计模式之装饰者模式
装饰者模式主要用于动态的给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活。一般来说,继承可以来扩展类的功能,但与继承不同的是,通过装饰者模式,我们可以选择一个类的某个对象,对其进行修改,而不会影响这个类中其他的实例。继承会直接为类增加功能,而装饰者模式则会通过将对象与其他对象进行包装的方式将功能添加到类。装饰者模式UML图: 在应用装饰者模式的时候,我...原创 2018-10-09 20:10:41 · 231 阅读 · 0 评论 -
设计模式之代理模式(一)——静态代理
代理模式:给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用。UML图:角色:抽象角色(Subject):它是一个由真实角色实现的接口,并能够表征真实角色的功能。该接口同时也必须由代理角色所实现,这样代理角色就能够用于所有真实角色能够使用的地方代理角色(Proxy):它维护了能够允许代理角色访问真实角色的引用。代理角色与真实角色都实现了同一个接口,这样代理角色就能够代...原创 2018-10-10 10:12:39 · 208 阅读 · 0 评论 -
设计模式之代理模式(二)——动态代理
动态代理:在程序运行时,通过反射机制动态的创建一个代理类先来一个小Demo,逐步理解动态代理 1.声明一个接口,里面有一个move的方法public interface Moveable { void move();}2.创建一个Tank类,实现上面的接口,重写方法:public class Tank implements Moveable{ @Ove...原创 2018-10-10 20:52:31 · 258 阅读 · 0 评论 -
设计模式之迭代器模式
迭代器模式是一种行为型模式。迭代器模式允许对一组对象元素的遍历以完成功能实现。UML图: 角色说明: Container:抽象容器:用于定义聚合关系的接口。ConcreteContainer:具体容器:一个聚合关系的实现。Iterator:迭代器:它会实现一个用于定义迭代器的抽象迭代器接口。ConcreteIterator:具体迭代器:迭代器的实现。迭代器模式的创建...原创 2018-10-21 09:30:04 · 416 阅读 · 0 评论