
设计模式
住手丶让我来
我是革命一块砖,哪里需要哪里搬!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是享元模式?
一、前言 享元模式是构造型模式之一,它通过共享数据使得相同对象在内存中仅创建一个实例,以降低系统创建对象实例的性能消耗。 以博客里写文章为例来说吧,把文章和文章中的文字看作对象,我们每在博客里写一个字就相当于是创建一个文字对象,假如我们写的文章有一万个字,那我们岂不是要创建一万次文字对象,如此频繁的创建对象势必会严重拖累系统的性能。 享元模式通过数据共享使得重复使用原创 2020-10-15 09:40:48 · 930 阅读 · 1 评论 -
什么是责任链模式?
一、定义 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。二、角色Handler(抽象处理者): 定义了一个处理请求的接口,一般设计为抽象类,由于不同的具体处理者处理请求的方式不同,因此在其中定义了抽象请求处理方法。因为每一个处理者的下家还是一个处理者,因此在抽象处理者中定义了一个抽象处理者类型原创 2020-07-28 14:43:04 · 4023 阅读 · 0 评论 -
什么是迭代器模式?
一、定义 迭代器(Iterator)模式又叫作游标(Cursor)模式,是一种对象的行为模式。提供一种方法顺序访问一个聚合(指一组对象的组合结构,如:Java中的集合、数组等)对象中各个元素,而又不需暴露该对象的内部表示。迭代器模式的本质:控制访问聚合对象中的元素。其设计意图:无须暴露聚合对象的内部实现,就能够访问到聚合对象中的各个元素。二、角色抽象迭代器(Iterator)角色: 一般定义为接口,用来定义访问和遍历元素的接口。具体迭代器(Concret原创 2020-07-24 16:55:20 · 1909 阅读 · 0 评论 -
什么是外观模式?
一、定义 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。二、角色外观(Facade)角色 : 客户端可以调用这个角色的方法。此角色知晓相关子系统的功能和责任。在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。子系统...原创 2020-01-15 00:24:34 · 838 阅读 · 0 评论 -
什么是原型模式?
一、定义 通过复制现有的对象实例来创建新的对象实例。二、实现实现Cloneable接口: Cloneable接口的作用是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中,只有实现了这个接口的类才可以被拷贝,否则在运行时会抛出CloneNotSupportedEx...原创 2020-01-14 10:51:21 · 446 阅读 · 0 评论 -
什么是代理模式?
一、定义 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、角色抽象角色:声明真实对象和代理对象的共同接口。代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替...原创 2020-01-12 23:36:36 · 577 阅读 · 1 评论 -
什么是装饰者模式?
一、定义 在不必改变原类文件和原类使用的继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是用装饰来包裹真实的对象来实现。二、角色抽象构件角色(Project):给出一个接口,以规范准备接收附加责任的对象。具体构件角色(Employe):定义一个将要接收附加责任的类。装饰角色(Manager):持有一个构件对象的实例,并...原创 2020-01-10 09:03:57 · 211 阅读 · 0 评论 -
什么是适配器模式?
一、定义 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。二、角色目标(Target)角色:这就是所期待得到的接口,也就是这类的接口是符合我们要求的。源(Adapee)角色:我们要使用的接口,但是这个接口不符合我们的要求,也就是现在需要适配的接口。适配器(Adaper)角色:适...原创 2020-01-07 16:45:52 · 938 阅读 · 0 评论 -
什么是单例模式?
一、单例模式介绍单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。对于...原创 2019-04-27 13:45:27 · 1909 阅读 · 0 评论